function solution(answers) {
const one = [1, 2, 3, 4, 5];
const two = [2, 1, 2, 3, 2, 4, 2, 5];
const three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let cnt = [0, 0, 0];
let answer = [];
for (let i = 0; i < answers.length; i++) {
if (answers[i] === one[i % one.length]) cnt[0]++;
if (answers[i] === two[i % two.length]) cnt[1]++;
if (answers[i] === three[i % three.length]) cnt[2]++;
}
const maxCnt = Math.max(cnt[0], cnt[1], cnt[2]);
for (let i = 0; i < 3; i++) {
if (cnt[i] === maxCnt) answer.push(i + 1);
}
return answer;
}
입력값의 제한은 다음과 같다.
이중 배열을 사용한 문제풀이는 불가능하다고 생각했다.
문제풀이의 핵심은 각 수포자가 답을 찍는 패턴을 배열로 선언해두는 것이다.