1.수포자들의 찍는방식을 반복시키기.
2. 반복문으로 수포자의 정답개수를 저장
3. 저장된 정답개수를 비교하여 많이맞춘 수포자번호를 출력
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[][] giveUp = {{1,2,3,4,5},{2,1,2,3,2,4,2,5},{3,3,1,1,2,2,4,4,5,5}};
int cnt =0;
int ans[] = new int[3];
for(int i = 0; i<3; i++){
for(int j=0; j< answers.length; j++){
if(cnt == giveUp[i].length){
cnt = 0;
}
if(answers[j] == giveUp[i][cnt]){
ans[i]++;
}
cnt++;
}
cnt =0;
}
ArrayList<Integer> list = new ArrayList<>();
int max = Math.max(ans[0],Math.max(ans[1],ans[2]));
for(int i =0; i<3; i++){
if(ans[i] == max) list.add(i+1);
}
int[] last = new int[list.size()];
for(int i=0; i<last.length; i++){
last[i] = list.get(i);
}
return last;
}
}
cnt는 수포자들마다 정답을 찍는 패턴이 다르기때문에 각 패턴의 숫자를 cnt에 담았다.
max에 1번수포자,(2번,3번 )을 비교하여 정답을 많이맞춘 수포자를 담았고
ans[i]의 값과 같다면 리스트에 수포자 번호를 추가하고 리스트를 int배열로 바꾸어 주면 정답.