빙응의 공부 블로그
[Programmers]Lv.1 모의고사 본문
📝풀이
해당 수포자들의 패턴이 있으므로 패턴을 저장한 다음 로직을 구현하면 쉽게 풀 수 있다.
그러나 마지막 결과를 리턴할 때는 스트림이나 혹은 따로 처리를 해줘야 한다.
import java.util.ArrayList;
class Solution {
public int[] solution(int[] answers) {
int[][] role = {{1,2,3,4,5},{2,1,2,3,2,4,2,5},{3,3,1,1,2,2,4,4,5,5}};
int[] check = new int[3];
for (int i = 0; i < role.length; i++) {
int count = 0;
int pointer = 0;
for (Integer answer : answers) {
if (role[i][pointer] == answer) {
count++;
}
pointer = (pointer + 1) % role[i].length;
}
check[i] = count;
}
int maxCount = Math.max(check[0],Math.max(check[1],check[2]));
ArrayList<Integer> resultList = new ArrayList<>();
for (int i = 0; i < check.length; i++) {
if (check[i] == maxCount) {
resultList.add(i + 1);
}
}
int[] answer = new int[resultList.size()];
for (int i = 0; i < answer.length; i++) {
answer[i] = resultList.get(i);
}
return answer;
}
}
'Argorithm' 카테고리의 다른 글
[Programmers]Lv.1 완주하지 못한 선수 (1) | 2024.01.02 |
---|---|
[Programmers]Lv.1 K번째 수 (0) | 2024.01.02 |
[Programmers]Lv.1 크레인 인형 뽑기 (0) | 2024.01.01 |
[Programmers]Lv.1 키패드 누르기 (1) | 2023.12.30 |
[Programmers]Lv.1 신규 아이디 추천 (0) | 2023.12.29 |