문제

풀이
import java.util.*;
class Solution {
public ArrayList<Integer> solution(int[] answers) {
ArrayList<Integer> answer= new ArrayList<>();
int[] num1 = {1,2,3,4,5};
int[] num2 = {2,1,2,3,2,4,2,5};
int[] num3 = {3,3,1,1,2,2,4,4,5,5};
int[] score = new int[3];
for(int i=0; i<answers.length; i++){
if(answers[i] == num1[i%5]) score[0]++;
if(answers[i] == num2[i%8]) score[1]++;
if(answers[i] == num3[i%10]) score[2]++;
}
int max=0;
max = Math.max(score[0],Math.max(score[1],score[2]));
for(int i=0; i<3; i++){
if(score[i] == max) answer.add(i+1);
}
return answer;
}
}
- 찍는 방식을 각각 num1~3에 담아준다.
- answers.length까지 for문을 돌려서 num1~3에 담은 배열의 값이 나오게 한다. 각 크기 만큼 나눈 나머지를 해주면 된다.
- 최대값을 구해서 해당 최댓값인 인덱스+1을 answer에 넣는다.