반응형
CODE
import java.util.*;
class Solution {
public List solution(int[] answers) {
List<Integer> answer = new ArrayList<>();
int[] score = {0, 0, 0};
int[][] supoja = {
{1, 2, 3, 4, 5},
{2, 1, 2, 3, 2, 4, 2, 5},
{3, 3, 1, 1, 2, 2, 4, 4, 5, 5}
};
int idx_1 = 0, idx_2 = 0, idx_3 = 0;
int len_1 = supoja[0].length;
int len_2 = supoja[1].length;
int len_3 = supoja[2].length;
for(int i = 0; i < answers.length; i++) {
if(answers[i] == supoja[0][i % len_1]) score[0]++;
if(answers[i] == supoja[1][i % len_2]) score[1]++;
if(answers[i] == supoja[2][i % len_3]) score[2]++;
}
int max = Arrays.stream(score).max().getAsInt();
for(int i = 0; i < score.length; i++) {
if(max == score[i]) answer.add(i+1);
}
return answer;
}
}
약간 어려울 수 있는 난이도의 문제라고 생각한다.일단 여태 풀었던 문제와 다르게 변수 선언을 많이해서 푸는 과정에서도 '잘 풀고 있는게 맞나'하는 생각이 계속 들었다. 일단 변수 선언을 가득하고나면 이중 for문도 아니고 for문 하나로 문제를 풀이할 수 있다. 그것 외엔 딱히 어려울 게 없는 문제..! 나와 내 코드를 믿는게 제일 어려운 문제였던거 같다;;
실행 결과
반응형