https://school.programmers.co.kr/learn/courses/30/lessons/42840?language=java
수포자 1,2,3의 고정값을 배열에 저장하고
int[] student1 = {1, 2, 3, 4, 5};
int[] student2 = {2, 1, 2, 3, 2, 4, 2, 5};
int[] student3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
맞힌 개수를 각각 answer[0], answer[1], answer[2]에 저장해 주고
가장 정답을 많이 맞힌 max값을 구해
다시 그 max값과 일치하는 값을 list에 넣어줬다.
위의 내용을 아래와 같이 구현하였다.
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] answer = new int[3];
int[] student1 = {1, 2, 3, 4, 5};
int[] student2 = {2, 1, 2, 3, 2, 4, 2, 5};
int[] student3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
for(int i = 0; i < answers.length; i++){
if(answers[i] == student1[i%5]){
answer[0]++;
}
if(answers[i] == student2[i%8]){
answer[1]++;
}
if(answers[i] == student3[i%10]){
answer[2]++;
}
}
int max = Math.max(Math.max(answer[0], answer[1]), answer[2]);
List<Integer> list = new ArrayList<>();
for(int i = 0; i < 3; i++){
if(max == answer[i]){
list.add(i+1);
}
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스_게임 맵 최단거리(JAVA) (0) | 2024.12.14 |
---|---|
[Algorithm] 프로그래머스_체육복(JAVA) (0) | 2024.12.13 |
[Algorithm] 프로그래머스_완주하지 못한 선수(JAVA) (0) | 2024.12.13 |
[Algorithm] 프로그래머스_네트워크(JAVA) (0) | 2024.12.11 |
[Algorithm] 프로그래머스_K번째수(JAVA) (2) | 2024.12.11 |