💡풀이
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] answers) {
int[][] points = {{1, 2, 3, 4, 5}, {2, 1, 2, 3, 2, 4, 2, 5}, {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}};
int[] results = new int[3];
for (int i = 0; i < answers.length; i++) { // 0,1,2 ... 문제 번호
for (int j = 0; j < points.length; j++) { // 3명의 수포자를 순회
// i % points[j].length: 현재 문제 번호를 수포자의 패턴 길이로 나눈 나머지
// → 현재 문제에 해당하는 수포자의 찍기 순서
if (points[j][i % points[j].length] == answers[i]) { // j번째 수포자가 i번째 문제에서 찍은 답이 맞았다면
results[j]++;
}
}
}
int max = Arrays.stream(results).max().orElse(-1); // 맞춘 개수 중에서 최대값 구하기
return IntStream.rangeClosed(1, 3)
.filter(e -> results[e - 1] == max)
.toArray();
}
}
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 과일 장수 (0) | 2025.07.18 |
---|---|
[프로그래머스, Java] 덧칠하기 (0) | 2025.07.18 |
[프로그래머스, Java] 2016년 (0) | 2025.07.17 |
[프로그래머스, Java] 폰켓몬 (0) | 2025.07.17 |
[프로그래머스, Java] 기사단원의 무기 (0) | 2025.07.16 |