Question
๋ฐฑ์ค 1110๋ฒ : ๋ํ๊ธฐ ์ฌ์ดํด
0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 99๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง ๋ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ํ ์ ์๋ค. ๋จผ์ ์ฃผ์ด์ง ์๊ฐ 10๋ณด๋ค ์๋ค๋ฉด ์์ 0์ ๋ถ์ฌ ๋ ์๋ฆฌ ์๋ก ๋ง๋ค๊ณ , ๊ฐ ์๋ฆฌ์ ์ซ์๋ฅผ ๋ํ๋ค. ๊ทธ๋ค์, ์ฃผ์ด์ง ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ฆฌ ์์ ์์์ ๊ตฌํ ํฉ์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ฆฌ ์๋ฅผ ์ด์ด ๋ถ์ด๋ฉด ์๋ก์ด ์๋ฅผ ๋ง๋ค ์ ์๋ค. ๋ค์ ์๋ฅผ ๋ณด์.
26๋ถํฐ ์์ํ๋ค. 2+6 = 8์ด๋ค. ์๋ก์ด ์๋ 68์ด๋ค. 6+8 = 14์ด๋ค. ์๋ก์ด ์๋ 84์ด๋ค. 8+4 = 12์ด๋ค. ์๋ก์ด ์๋ 42์ด๋ค. 4+2 = 6์ด๋ค. ์๋ก์ด ์๋ 26์ด๋ค.
์์ ์๋ 4๋ฒ๋ง์ ์๋ ์๋ก ๋์์ฌ ์ ์๋ค. ๋ฐ๋ผ์ 26์ ์ฌ์ดํด์ ๊ธธ์ด๋ 4์ด๋ค.
N์ด ์ฃผ์ด์ก์ ๋, N์ ์ฌ์ดํด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
26 : 2 + 6 = 8 โก๏ธ 6 + 8 = 14 โก๏ธ 8 + 4 = 12 โก๏ธ 4 + 2 = 6
์ ๋ ฅ ์์
26
์ถ๋ ฅ ์์
4
My Code
const input = require('fs').readFileSync('dev.stdin').toString().trim();
let num = Number(input);
let i = 0;
while (true) {
let sum = Math.floor(num / 10) + num % 10;
num = (num % 10) * 10 + sum % 10;
i++;
if (Number(input) === num) {
break;
}
}
console.log(i);
๋ง์์ต๋๋ค!!
Math.floor() ํจ์๋ ์ฃผ์ด์ง ์ซ์์ ๊ฐ๊ฑฐ๋ ์์ ์ ์ ์ค์์ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํํฉ๋๋ค.
HOW?
1. ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ๋ ์คํ๋๋ ๋ฐ๋ณต๋ฌธ์ธ while์ ์ด์ฉํ๋ค.
2. ์ญ์ ์๋ฆฌ ์ซ์๋ฅผ ๋ฐ์์ฌ ์ ์๋ Math.floor()์ ๋๋๊ธฐ ์ฐ์ฐ์(/)๋ฅผ ์ด์ฉํ๊ณ ์ผ์ ์๋ฆฌ ์ซ์๋ฅผ ๋ฐ์ ์ฌ ์ ์๋๋ก ๋๋จธ์ง ์ฐ์ฐ์(%)๋ฅผ ์ฌ์ฉํ๋ค.
์ญ์ ์๋ฆฌ ์ซ์ : Math.floor(num / 10)
์ผ์ ์๋ฆฌ ์ซ์ : num % 10
3. ๋ณ์ sum ์๋ ๋ฐ์์จ ์ซ์์ธ num์ ์ญ์ ์๋ฆฌ ์ซ์์ ์ผ์ ์๋ฆฌ ์ซ์๋ฅผ ๋ํด์ ํ ๋นํ๋ค.
4. ๋ณ์ num์๋ while๋ฌธ์ ๋๋ ๋์ ๋ถ์ฌ๋ฐ๋ ์๋ก์ด ์๋ฅผ ํ ๋นํ๋ค.
num์ ์ผ์ ์๋ฆฌ ์ซ์ * 10 ์ sum์ ์ผ์ ์๋ฆฌ ์ซ์๋ฅผ ๋ํฉ๋๋ค.
5. ๋ณ์ i์๋ ํ ๋ฒ while๋ฌธ์ ๋๋๋ง๋ค ์ซ์๋ฅผ 1์ฉ ๋ํฉ๋๋ค.
6. ์ฒ์ ํ ๋น๋ฐ์ ์ซ์๊ฐ ๋๋ฉด break์ ํตํด while๋ฌธ์ ์ข ๋ฃํฉ๋๋ค.
7. ๋ช๋ฒ while๋ฌธ์ ๋์๋์ง ์ ์ ์๋ i๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
Math.floor()๋ฅผ ๋ชฐ๋ผ์ ๊ตฌ๊ธ๋ง์ ํ๋ค. ์ญ์ ํ๋๋ฅผ ์๋ฉด ๋ค๋ฅธ ๊ฑฐ ํ ๋ ์ ์ ํ๋ฆฐ๋ค. ๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋๋ ๋ณด๋ฉด์ ๋๋ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ์์๊ฐ๋ค. ํ์ด ๋ฐฉ์ ์ฌ๋ ค์ฃผ์๋ ๋ชจ๋ ๋ถ๋ค ๊ฐ์ฌํฉ๋๋คโ๏ธ
'Algorithms > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ๋ฐฑ์ค 3052๋ฒ : ๋๋จธ์ง (0) | 2022.04.20 |
---|---|
[JS] ๋ฐฑ์ค 2562๋ฒ : ์ต๋๊ฐ (0) | 2022.04.18 |
[JS] ๋ฐฑ์ค 10871๋ฒ : X๋ณด๋ค ์์ ์ (0) | 2022.04.16 |
[JS] ๋ฐฑ์ค 2439๋ฒ : ๋ณ ์ฐ๊ธฐ -2 (0) | 2022.04.14 |
[JS] ๋ฐฑ์ค 2438๋ฒ : ๋ณ ์ฐ๊ธฐ -1 (0) | 2022.04.13 |