문제 🔽
https://school.programmers.co.kr/learn/courses/30/lessons/42840
다른사람 풀이 🔽
function solution(answers) {
var answer = [];
var a1 = [1, 2, 3, 4, 5];
var a2 = [2, 1, 2, 3, 2, 4, 2, 5]
var a3 = [ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
var a1c = answers.filter((a,i)=> a === a1[i%a1.length]).length;
var a2c = answers.filter((a,i)=> a === a2[i%a2.length]).length;
var a3c = answers.filter((a,i)=> a === a3[i%a3.length]).length;
var max = Math.max(a1c,a2c,a3c);
if (a1c === max) {answer.push(1)};
if (a2c === max) {answer.push(2)};
if (a3c === max) {answer.push(3)};
return answer;
}
내풀이🔽
1. 성공 ⭕
function solution(answers) {
var answer = [];
let first = [1,2,3,4,5] // 5
let second = [2,1,2,3,2,4,2,5] // 8
let third = [3,3,1,1,2,2,4,4,5,5] // 10
let scoreArr = [0,0,0]
for(let i=0; i<answers.length; i++){
let answer=answers[i]
if(answer===first[(i%5)]) ++scoreArr[0]
if(answer===second[(i%8)]) ++scoreArr[1]
if(answer===third[(i%10)]) ++scoreArr[2]
}
let highestScore = Math.max(...scoreArr)
for(let i=0; i<scoreArr.length; i++){
if(highestScore===scoreArr[i]){
answer.push(i+1)
}
}
return answer;
}
느낀점🔽
어렵지 않게 풀 수 있었다!
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 행렬의 덧셈(lv1) (0) | 2023.07.21 |
---|---|
프로그래머스 코딩테스트 풀이(js) > 크레인 인형 뽑기 게임(lv1) (0) | 2023.07.20 |
프로그래머스 코딩테스트 풀이(js) > 카드뭉치(lv1) (0) | 2023.07.18 |
프로그래머스 코딩테스트 풀이(js) > 문자열 나누기(lv1) (0) | 2023.07.17 |
프로그래머스 코딩테스트 풀이(js) > 피로도 (0) | 2023.07.13 |