Algorithm/Programers - Java
[프로그래머스(Java)] 특별한 이차원 배열 2 / allMatch(), anyMatch()
StrongMin
2023. 12. 30. 19:38
Level. 0
문제
n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때,
arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요.
- 0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i]
* 제한사항
1 ≤ arr의 길이 = arr의 원소의 길이 ≤ 1001 ≤ arr의 원소의 원소 ≤ 1,000모든 arr의 원소의 길이는 같습니다.
풀이
class Solution {
public int solution(int[][] arr) {
int n = arr.length;
for(int i=0; i<n; i++){
for(int j=i+1; j<n; j++)
if(arr[i][j] != arr[j][i])
return 0;
}
return 1;
}
}
다른 풀이
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;
}
}
allMatch()
- 모든 요소들이 조건을 만족하는지 조사한 후 Boolean 타입의 값을 반환
anyMatch()
- 최소 한 개의 요소가 조건을 만족하는지 조사
https://school.programmers.co.kr/learn/courses/30/lessons/181831
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr