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

[Algorithm] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 : 3์ง„๋ฒ• ๋’ค์ง‘๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 11. 28.
๋ฐ˜์‘ํ˜•

3์ง„๋ฒ• ๋’ค์ง‘๊ธฐ

์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. n์„ 3์ง„๋ฒ• ์ƒ์—์„œ ์•ž๋’ค๋กœ ๋’ค์ง‘์€ ํ›„, ์ด๋ฅผ ๋‹ค์‹œ 10์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ ์กฐ๊ฑด

* n์€ 1 ์ด์ƒ 100,000,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.


์ž…์ถœ๋ ฅ ์˜ˆ

n result
45 7
125 229

๋ฌธ์ œ ํ’€์ด

n์„ toString(3)์œผ๋กœ ๋ฌธ์ž์—ด 3์ง„๋ฒ•์œผ๋กœ ๋งŒ๋“  ๋‹ค์Œ split('')์„ ํ†ตํ•ด ์ชผ๊ฐœ๊ณ  ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ๋‹ค์Œ reverse๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ๋ฐฐ์น˜๋ฅผ ์‹œํ‚จ ํ›„ join์œผ๋กœ ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ํ•ฉ์ณ์ค€๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ parseInt(answer,3)์„ ํ†ตํ•ด 3์ง„์ˆ˜๋กœ ๋œ ๊ฐ’์„ 10์ง„๋ฒ• ์ •์ˆ˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

function solution(n) {
    let answer = n.toString(3).split("").reverse().join("");;
    return parseInt(answer, 3);
}

๋‹ค๋ฅธ ํ’€์ด ๋ฐฉ์‹

์ฒ˜์Œ๋ถ€ํ„ฐ parseInt ์•ˆ์— toString,reverse,join์„ ๋„ฃ์œผ๋ฉด ํ•œ ์ค„๋กœ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ์Œ.

const solution = (n) => {
    return parseInt([...n.toString(3)].reverse().join(""), 3);
}
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.