코딩 테스트 (Java)/코딩 기초 트레이닝 (프로그래머스)

181831. 특별한 이차원 배열 2

가지코딩 2025. 4. 23. 10:27

https://school.programmers.co.kr/learn/courses/30/lessons/181831

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제

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 합니다.

풀이

class Solution {
    public int solution(int[][] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i][j] != arr[j][i]) {
                    return 0;
                }
            }
        }
        
        return 1;
    }
}

 

 

 


GitHub: https://github.com/gajicoding/coding_test/edit/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/181831.%E2%80%85%ED%8A%B9%EB%B3%84%ED%95%9C%E2%80%85%EC%9D%B4%EC%B0%A8%EC%9B%90%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%852


출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr