๋ฐ์ํ
Question
์์ฐ์ n์ ๋ค์ง์ด ๊ฐ ์๋ฆฌ ์ซ์๋ฅผ ์์๋ก ๊ฐ์ง๋ ๋ฐฐ์ด ํํ๋ก ๋ฆฌํดํด์ฃผ์ธ์. ์๋ฅผ ๋ค์ด n์ด 12345์ด๋ฉด [5,4,3,2,1]์ ๋ฆฌํดํฉ๋๋ค.
์ ํ์กฐ๊ฑด
n์ 10,000,000,000์ดํ์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์์
My Code
function solution(n) {
return String(n).split('').map(Number).reverse();
}
HOW? (ํ์ด๋ฐฉ๋ฒ)
- ์ ๋ ฅ๋ฐ์ number๋ฅผ string์ผ๋ก ๋ณํํ๋ค.
- split() ๋ฉ์๋๋ก ํ ๊ธ์์ฉ ๋์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
- map(Number) ๋ฉ์๋๋ก string์ number ํ์ ์ผ๋ก ๋ฐ๊พผ๋ค.
- ๋ฉ์๋ reverse()๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ ๋ฐ์ ์ํจ๋ค.
๋ฉ์๋๋ก ํธ๋ ๋ฐฉ๋ฒ๋ ์๊ณ ๋ฐ๋ณต๋ฌธ์ ํ์ฉํด ํธ๋ ๋ฐฉ๋ฒ๋ ์์๋ค.
function solution(n) {
var arr = [];
do {
arr.push(n%10);
n = Math.floor(n/10);
} while (n>0);
return arr;
}
- ์ ๋ ฅ๋ฐ์ ์ซ์๋ฅผ n์ด 0๋ณด๋ค ์์์ง ๋๊น์ง do... while๋ฌธ์ ๋๋ฆฐ๋ค.
- ๋ฐฐ์ด arr์์๋ 10์ผ๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ ๋ฃ๋๋ค. (์ผ์ ์๋ฆฌ๋ถํฐ ์ฐจ๋ก๋๋ก ๋ค์ด๊ฐ)
- n์ 10์ ๋๋ ๋ชซ์ ์์์ ์ ๋ฒ๋ฆฌ๊ณ ๊ฐฑ์ ํ๋ค. (๋งจ ๋์ ์๋ฆฌ๋ถํฐ ํ ์๋ฆฌ์ฉ ๋ฒ๋ ค์ง๋ฉฐ ๋ค์ด๊ฐ)
- arr๋ฅผ return ์ํค๋ฉด ๋!
์ด์ ์ด๋ฐ ๋ฌธ์ ๋ ๋ฐ๋ก ์๊ฐ๋์ ํ ์ ๋๊ฐ ๋์ด ๋คํ์ด๋ค.
๋ ๋ฒจ 2๋ ์ ๋ณด๊ณ ํ๊ฒ ๋๋ ๊ทธ๋ ๊น์ง ํ์ดํ .
๋ฐ์ํ
'Algorithms > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค : K๋ฒ์งธ ์ (0) | 2022.05.29 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.05.27 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2022.05.20 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ฒด์ก๋ณต (0) | 2022.05.19 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2022.05.17 |