문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
answers가 변수로 주어지는데, 이 answers의 갯수가 결국 문제의 개수임을 염두에 두고 풀어야 한다.
정답
function solution(answers) {
let supo1 = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5];
let supo2 = [2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5];
let supo3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let answer = [];
let result1 = answers.filter((x, i) => x === supo1[i % supo1.length]).length;
let result2 = answers.filter((x, i) => x === supo2[i % supo2.length]).length;
let result3 = answers.filter((x, i) => x === supo3[i % supo3.length]).length;
let max = Math.max(result1, result2, result3);
if (result1 === max) answer.push(1);
if (result2 === max) answer.push(2);
if (result3 === max) answer.push(3);
return answer;
}