[알고리즘문제풀기] 특별한 이차원 배열 2

silver's avatar
Apr 09, 2025
[알고리즘문제풀기] 특별한 이차원 배열 2

문제

내가 작성한 정답

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

stream1 - findAny

import java.util.stream.*; class Solution { public int solution(int[][] arr) { return IntStream.range(0,arr.length) .flatMap(i-> IntStream.of(IntStream.range(0,arr[0].length) .filter(j->arr[i][j]!=arr[j][i]) .map(j->1) // 조건을 만족하지 않는 경우에 1을 부여 .findAny() // 하나라도 찾으면 1 이상 .orElse(0)) // 모두 다 0이라면 만족하는 1 출력해야함 ).sum()==0?1:0; } }

stream2 - allMatch

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

silver