์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

[๋ฐฑ์ค€ 1110] ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด (Javascript)

์€์ง„ 2021. 8. 3. 13:09

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๋ฌธ์ œ๋งํฌ

[๋ฐฑ์ค€ 1110] ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด (Javascript)
๋ฐฑ์ค€


โœ๏ธIdea Sketch

2021-07-19

1. ๋ฌธ์ œ ์ดํ•ด

  • 26, 2+6 = 8, 68, 6+8 = 14, 84, 8+4 = 12, 42, 4+2 = 6, 26

2. ์‹ญ์˜ ์ž๋ฆฌ ์ˆ˜์™€ ์ผ์˜ ์ž๋ฆฌ ์ˆ˜ ๋”ํ•˜๊ธฐ

let num = 26;
let sum = parseInt(num%10 + num/10);

console.log(sum);

3. ๋”ํ•˜๊ธฐ ์ „ ์ˆ˜๋ฅผ ์ €์žฅํ•ด๋†”์•ผ ํ•จ

4. ๋”ํ•˜๊ธฐ ์ „ ์ผ์˜ ์ž๋ฆฌ์™€ (์‹ญ์˜ ์ž๋ฆฌ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•จ), ๋”ํ•œ ํ›„ ์ผ์˜ ์ž๋ฆฌ์™€ ํ•ฉ์น˜๊ธฐ

num = num%10 + sum%10;

5. ์นด์šดํŠธ ์„ธ๊ธฐ, ๋ฐ˜๋ณต๋ฌธ

  • ์ƒˆ๋กœ์šด ์ˆ˜๊ฐ€ ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค cnt++;
  • ์ƒˆ๋กœ์šด ์ˆ˜๊ฐ€ ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค ์›๋ž˜ ์ˆ˜์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธ
let num = N;
let cnt = 0;

while(num !== N) {
  let sum = parseInt(num%10 + num/10);
  num = num%10 + sum%10;
  cnt++;
}
return cnt;


โœ๏ธ์†Œ์Šค์ฝ”๋“œ

2021-07-19 ํ†ต๊ณผ, 168ms

let fs = require('fs');
let input = fs.readFileSync('../stdin').toString().split('\n');
let N = parseInt(input[0]);

function solution(N) {
  let cnt = 0;
  let num = N;

  while (true) {
    let sum = parseInt(num%10 + num/10);
    num = (num%10)*10 + sum%10;
    cnt++;
    if (num === N) break;
  }
  return cnt;
}

console.log(solution(N))


2021-07-19 ํ†ต๊ณผ, 136ms

  • ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ์†๋„๊ฐ€ ๋” ๋น ๋ฆ„
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let N = parseInt(input[0]);

let cnt = 0;
let num = N;

while (true) {
    let sum = parseInt(num%10 + num/10);
    num = (num%10)*10 + sum%10;
    cnt++;
    if (num === N) break;
}

console.log(cnt);