문제 설명
문제 풀이
function solution(answers) {
let answer = [];
let one = [1, 2, 3, 4, 5];
let two = [2, 1, 2, 3, 2, 4, 2, 5];
let three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let score = [0, 0, 0];
// 정답지와 수포자들의 답 확인
for(let i = 0; i < answers.length; i++) {
if(answers[i] === one[i % one.length]) {
score[0] ++;
}
if(answers[i] === two[i % two.length]) {
score[1] ++;
}
if(answers[i] === three[i % three.length]) {
score[2] ++;
}
}
// 최대값 찾기
let answerMax = Math.max.apply(null, score);
// 최대값과 일치한 스코어가 있다면 배열에 추가
if(answerMax === score[0]) {
answer.push(1);
};
if(answerMax === score[1]) {
answer.push(2);
};
if(answerMax === score[2]) {
answer.push(3);
}
//배열 정렬
answer.sort();
return answer;
};
1. for 문을 돌려 정답지와 각 사람들의 정답을 비교하여 score에 자리에 맞게 점수를 증가 시킨다.
2. 최대 값을 찾는다
3. 최대 값과 일치하는 번호가 있으면 answer배열에 추가한다.
4. 마지막으로 최대 값을 가지고 있는 번호가 2개 이상일 수 있으니 정렬한다.
실행 결과
코드 채점하고 제출
'프로그래머스 문제 > Level 1' 카테고리의 다른 글
[프로그래머스] 가운데 글자 가져오기 - 자바스크립트 (0) | 2020.08.27 |
---|---|
[프로그래머스] 2016년 - 자바스크립트 (0) | 2020.08.27 |
[프로그래머스] K번째수 - 자바스크립트 (0) | 2020.08.27 |
[프로그래머스] 체육복 - 자바스크립트 (0) | 2020.08.27 |
[프로그래머스] 완주하지 못한 선수 - 자바스크립트 (0) | 2020.08.27 |