107. 특별한 이차원 배열 2

박은서's avatar
Mar 21, 2026
107. 특별한 이차원 배열 2
2026.03.21(SAT)_107일차

1. 문제

문제 설명

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

2. 풀이

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; } }

3. 다른 사람의 풀이

import java.util.stream.*; class Solution { public int solution(int[][] arr) { return IntStream.range(0, arr.length).allMatch(i -> IntStream.range(i + 1, arr.length).allMatch(j -> arr[i][j] == arr[j][i])) ? 1 : 0; } }
 
Share article