import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] answer = {};
int[][] ans = {
{ 1, 2, 3, 4, 5 },
{ 2, 1, 2, 3, 2, 4, 2, 5 },
{ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 }
};
int[] count = new int[3];
for (int i = 0; i < answers.length; i++) {
for (int j = 0; j < 3; j++) {
if (ans[j][i % ans[j].length] == answers[i]) {
count[j]++;
}
}
}
ArrayList<Integer> tmp = new ArrayList<>();
int max = -1;
for (int i = 0; i < 3; i++) {
if (count[i] > max) {
max = count[i];
tmp.clear();
tmp.add(i);
}
else if (count[i] == max) {
tmp.add(i);
}
}
answer = new int[tmp.size()];
for (int i = 0; i < tmp.size(); i++) {
answer[i] = tmp.get(i) + 1;
}
return answer;
}
}
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges