출처 : 프로그래머스
사용 언어 : JavaScript
function solution(answers) {
var answer = [];
return answer;
}
function solution(answers) {
let po1=[ 1, 2, 3, 4, 5, 1, 2, 3, 4, 5];
let po2=[ 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5];
let po3=[ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let poNum = [0,0,0];
let answer=[];
for(let i=0;i<answers.length;i++){
if(po1[i%po1.length]===answers[i]){
poNum[0]++;
}
if(po2[i%po2.length]===answers[i]){
poNum[1]++;
}
if(po3[i%po3.length]===answers[i]){
poNum[2]++;
}
}
let max=Math.max(...poNum);
for(let j=0;j<poNum.length;j++){
if(max===poNum[j]){
answer.push(j+1);
}
}
return answer;
}
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;
}
문제 수가 지정되지 않은 상황에서 답이 일정한 주기로 반복되고 있으니if(po1[i%po1.length]===answers[i])
로 답을 체크할 수 있다!
filter
로 한층 코드가 깔끔하게 ,,,🙊🙉