๐Ÿ‘’ ๋ญ? JS๋กœ PS๋ฅผ ํ•œ๋‹ค๊ณ ?

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™

์„ ๋‹ฌ 2023. 5. 2. 23:24
๋ฐ˜์‘ํ˜•

https://school.programmers.co.kr/learn/courses/30/lessons/12980

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

์ฒ˜์Œ์—๋Š” DP๋กœ ์ ‘๊ทผํ–ˆ์œผ๋‚˜ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์ž๊พธ ์‹œ๊ฐ„์ดˆ๊ณผ + ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋– ์„œ ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค

function solution(n) {
    let ans = 0;
    while(n>0) {
        if(n%2 == 0)
            n /= 2;
        else {
            n = Math.floor(n/2);
            ans++;
        }
    }
    return ans;
}
๋ฐ˜์‘ํ˜•