Algorithm

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [Level 1] ๋ชจ์˜๊ณ ์‚ฌ JavaScript

seulye 2024. 7. 16. 21:28

 

 

function solution(answers) {
    var answer = [];
    const p1 = [1,2,3,4,5];
    const p2 = [2,1,2,3,2,4,2,5];
    const p3 = [3,3,1,1,2,2,4,4,5,5];
    
    let a1 = 0;
    let a2 = 0;
    let a3 = 0;
    
    for (let i=0;i<answers.length;i+=1){
        if(answers[i] === p1[i%(p1.length)]){
            a1+=1;
        }
        if(answers[i] === p2[i%(p2.length)]){
            a2+=1;
        }
        if(answers[i] === p3[i%(p3.length)]){
            a3+=1;
        }
    }
    const max = Math.max(a1,a2,a3);
    if(a1===max) answer.push(1);
    if(a2===max) answer.push(2);
    if(a3===max) answer.push(3);
    return answer;
}

 

1. ์ˆ˜ํฌ์ž๋“ค์˜ ํŒจํ„ด ์ €์žฅ

2. ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜ ์ €์žฅ

3. ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜์™€ ์ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด push

 

1๋ฒˆ 2๋ฒˆ 3๋ฒˆ์— ๋Œ€ํ•ด์„œ ํ•˜๋“œ์ฝ”๋”ฉ์ด ์ข€ ๋“ค์–ด๊ฐ”๋‹ค.

2์ฐจ์› ๋ฐฐ์—ด๋กœ ํ•˜๋ฉด ํ•˜๋“œ์ฝ”๋”ฉ์ด ํ•„์š”์—†์„ ๊ฒƒ ๊ฐ™๊ธด ํ•œ๋ฐ, for๋ฌธ์„ ํ•˜๋‚˜ ๋” ์จ์•ผ ํ•ด์„œ ๊บผ๋ ค์กŒ๋‹ค. 

ํ•˜์ง€๋งŒ ์ฑ…์„ ๋ณด๋‹ˆ for๋ฌธ 2๊ฐœ๋ฅผ ๋Œ๋ ค๋„ O(N)์ด๋”๋ผ..