🎄 문제
문제링크
🎄 제한사항
🎄 접근방법
- 수포자들의 찍는 방식을 mathGiveUp 2차배열을 만들어서 저장하였다.
- 수포자 3명의 방식을 돌면서 각각 해당하는 답들이 맞는 확인하여 맞은 개수를 저장하고, 그 중 많이 맞춘 개수(max)를 기억한다.
- max랑 맞춘 개수가 같은 수포자를 list에 담고 반환한다.
🎄 코드
import java.util.*;
class Solution {
int[][] mathGiveUp = {{1, 2, 3, 4, 5}, {2, 1, 2, 3, 2, 4, 2, 5}, {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}};
public int[] solution(int[] answers) {
int[] answer = {};
int[] temp = new int[3];
int max = 0;
for(int i=0; i<3; i++){
int count = 0;
for(int j=0; j<answers.length; j++){
if(mathGiveUp[i][j % mathGiveUp[i].length] == answers[j]){
count++;
}
}
temp[i] = count;
max = Math.max(max,count);
}
List<Integer> list = new ArrayList<>();
for(int i=0; i<3; i++){
if(max == temp[i]){
list.add((i+1));
}
}
return list.stream().mapToInt(i->i).toArray();
}
}