728x90
반응형
문제 설명
n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요.
- 0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i]
제한사항
1 ≤ arr의 길이 = arr의 원소의 길이 ≤ 100
1 ≤ arr의 원소의 원소 ≤ 1,000
모든 arr의 원소의 길이는 같습니다.
입출력 예
arr result
[[5, 192, 33], [192, 72, 95], [33, 95, 999]] 1
[[19, 498, 258, 587], [63, 93, 7, 754], [258, 7, 1000, 723], [587, 754, 723, 81]] 0
입출력 설명
입출력 예 #1
예제 1번에서 문제의 조건이 잘 보이도록 표를 만들면 다음과 같습니다.
i j arr[i][j] arr[j][i]
0 0 5 5
0 1 192 192
0 2 33 33
1 0 192 192
1 1 72 72
1 2 95 95
2 0 33 33
2 1 95 95
2 2 999 999
조건을 만족하므로 1을 return 합니다.
입출력 예 #2
예제 2번의 arr에서 arr[0][1] = 498 ≠ 63 = arr[1][0]이므로 조건을 만족하지 않습니다. 따라서 0을 return 합니다.
내 풀이
Java
class Solution {
public int solution(int[][] arr) {
int answer = 1;
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr.length; j++){
if(arr[i][j] != arr[j][i]) {
return 0;
}
}
}
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// arr_rows는 2차원 배열 arr의 행 길이, arr_cols는 2차원 배열 arr의 열 길이입니다.
int solution(int** arr, size_t arr_rows, size_t arr_cols) {
int answer = 1;
for(int i = 0; i < arr_rows; i++){
for(int j = 0; j < arr_rows; j++){
if(arr[i][j] != arr[j][i]){
return 0;
}
}
}
return answer;
}
Python
def solution(arr):
answer = 1
for i in range(len(arr)):
for j in range(len(arr)):
if arr[i][j] != arr[j][i]:
return 0
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181831
728x90
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] l로 만들기 (0) | 2024.05.22 |
---|---|
[코딩테스트 Lv.0] 특별한 이차원 배열 1 (0) | 2024.05.22 |
[코딩테스트 Lv.0] 정수를 나선형으로 배치하기 (0) | 2024.05.22 |
[코딩테스트 Lv.0] 정사각형으로 만들기 (0) | 2024.05.05 |
[코딩테스트 Lv.0] 이차원 배열 대각선 순회하기 (0) | 2024.04.30 |