문제 설명
n x 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 | 
class Solution {
    public int solution(int[][] arr) {
        int answer = 1;
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                if (arr[i][j] != arr[j][i]) {
                    answer = 0;
                    break;
                }
            }
        }
        return answer;
    }
}
바깥 for문이 arr의 길이만큼 순회합니다. 이는 행이 될 것입니다. 안쪽 for문이 arr의 i번째 원소의 길이만큼 순회합니다. 이는 열이 될 것입니다. 만약 arr[i][j]번째 원소와 arr[j][i]번째 원소가 같지 않다면 answer에 0을 할당하고 break문으로 for문을 빠져나옵니다. 대신 answer의 초기값이었던 0을 1로 변경해야 합니다.
이 코드는 초기값을 1로 하여 arr의 각 원소를 비교하고, 조건에 해당하지 않는 원소가 있다면 반환값을 0으로 바꾼 뒤 코드를 종료하는 것입니다. 하나라도 해당하지 않는 것이 있다면 조건이 성립하지 않기 때문입니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
| [프로그래머스 코딩테스트] 리스트 자르기(Java) (3) | 2023.05.14 | 
|---|---|
| [프로그래머스 코딩테스트] 정사각형으로 만들기(Java) (0) | 2023.05.14 | 
| [프로그래머스 코딩테스트] l로 만들기(Java) (0) | 2023.05.13 | 
| [프로그래머스 코딩테스트] 커피 심부름(Java) (0) | 2023.05.13 | 
| [프로그래머스 코딩테스트] 꼬리 문자열(Java) (0) | 2023.05.13 |