https://www.acmicpc.net/problem/1110
let sumArr = [];
let a;
let b;
let numbers = input.map((i) => i < 10 ? `0${i}` : i);
numbers = numbers.toString().split('');
let sum = Number(numbers[0]) + Number(numbers[1]);
sumArr.push(sum);
console.log(sumArr);
if (input != sum) {
while (input !== sum) {
let newNumArr = sumArr.map((i) => i < 10 ? `0${i}` : i);
let i = newNumArr.toString().split('');
a = numbers[1];
b = i[1];
sum = a + b;
sumArr = [sum]
count++;
}
} else {
count++;
}
console.log(count);
https://sangseophwang.tistory.com/72
const fs = require('fs');
const file = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(file).toString().split(' ').map((i) => +i);
let count = 0;
let sum;
let num = input;
while (true) {
sum = parseInt(num % 10 + num / 10);
num = (num % 10) * 10 + sum % 10;
count++;
if (num == input) break;
}
console.log(count);
num % 10 + num / 10
을 사용해 구해준다음, parseInte()로 정수로 만들어 소수점을 날려준다.sum
은 10의 자리 + 1의 자리의 합
을 가진 수가 된다.(num % 10) * 10
)로, 더한 값의 1의 자리를 1의 자리수(sum % 10
)로 위치해주고 num에 할당해주면 num
의 값이 변하게 된다.if (num == input)
에 부합하는지 확인 후 false
라면 while문을 동작한다.