중요사항
수포자 3명이 찍는 방식으로 모의고사를 풀었을때 가장 높은 점수가 나온 사람은 누구인가 만약 높은 점수가 동일할시 오름차순정렬을한다
cnt,save배열에 맞춘갯수를 저장cnt배열을 sort()사용하여 가장 높은 점수를 구함answer배열의 크기를 구하고 생성save배열과 cnt[2]를 비교하여 answer에 값 추가하여 반환import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] su1 = {1,2,3,4,5};
int[] su2 = {2,1,2,3,2,4,2,5};
int[] su3 = {3,3,1,1,2,2,4,4,5,5};
int[] cnt = {0,0,0};
int[] save = {0,0,0};
for(int i=0; i<answers.length; i++){
if(answers[i]==su1[i%5]){
cnt[0]++;
save[0]++;
}
if(answers[i]==su2[i%8]){
cnt[1]++;
save[1]++;
}
if(answers[i]==su3[i%10]){
cnt[2]++;
save[2]++;
}
}
Arrays.sort(cnt);
int arrlen = cnt[2]==cnt[1]? cnt[2]==cnt[0]? 3 : 2 :1;
int[] answer = new int[arrlen];
arrlen=0;
for(int y=0; y<cnt.length; y++){
if(save[y]==cnt[2])answer[arrlen++]=y+1;
}
return answer;
}
}
최대값을 어떻게 구하지 하다 sort()를 사용해서 최대값을 구했는데 다른 사람 풀이를 보니까 Math.max()를 이중으로 사용해서 최대값을 구했다 수포자가 많았다면 sort()가 편할수도있었지만 3명이라 좀 더 간단하게 표현할려면 Math.max()사용한게 좋지않을까 한다 풀었던 문제중에서 다른분풀이를 보고 Math.max()써서 풀어 더 간단하다고 한거같은데 이제 좀 기억해서 다음번에는 꼭 썻으면 좋겠다😂