๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„์—” ๊ณต๋ถ€/๐Ÿซง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[์•Œ๊ณ ๋ฆฌ์ฆ˜ || ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝœ๋ผ์ธ  ์ถ”์ธก

728x90
function solution(num) {
    let count = 0;
    while (num !== 1 && count <= 500) {
        num = num % 2 === 0 ? num / 2 : num * 3 + 1;
        count++;
    }
    return num === 1 ? count : -1;
}

num ์ด 1์ด ์•„๋‹Œ ๊ฒฝ์šฐ์™€ count (๋กœ์ง ๋ฐ˜๋ณต ์ˆ˜)๊ฐ€ 500 ํšŒ ์ดํ•˜์ธ ๊ฒฝ์šฐ์—๋งŒ (=500ํšŒ ๋ฐ˜๋ณตํ•  ๋•Œ๊นŒ์ง€)

์ˆ˜๋ฅผ ๋ณ€ํ™˜ํ•œ๋‹ค. 

๋งŒ์•ฝ num ์ด 1์ด ๋๋‹ค๋ฉด ๋ฐ˜๋ณต ์ˆ˜์ธ count ๋ฅผ return ํ•˜๊ณ ,

1์ด ์•„๋‹ˆ๋ผ๋ฉด (= 500ํšŒ ๋ฐ˜๋ณต๋™์•ˆ 1์ด ๋˜์ง€ ๋ชปํ–ˆ๋‹ค๋Š” ๊ฑฐ๋‹ˆ๊นŒ) -1 ๋ฅผ return ํ•œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•