test 90%에서 에러뜬다.. node 런타임에서 잘 작동은 하는데 진짜 뇌지컬없이 피지컬로 짜니까 백준 런타임에서 동작을 안하나보다 앞으로 뇌를쓰자 ...
let input = fs.readFileSync(filePath()).toString().split('');
function solution(input){
let firstValue = `${Number(input[0])}${Number(input[1])}` // 배열로 받은 input값을 문자열로 재할당해줬다
if(firstValue === '00'){
return console.log(0)
} // 입력값 0을 받았을때 문자열 00(\n을 0으로 인식함)으로 재할당하고 돌려서 사이클 길이가 2가된다. 그래서 하드코딩으로 그냥 콘솔 0을 때려밖았다 ㅋ
let plus = Number(input[0]) + Number(input[1]) // 문자열로 재할당한값을 각각 더해주었다 2자리 이기 때문에 인덱스 0과 1로 하드코딩가능
let result = input[1] + `${plus}`.slice(`${plus}`.length-1, `${plus}`.length) // 문자열 마지막자리와 plus 마지막자리를 문자열로 변환해 더해서 변수에 할당했다
let i = 1; // 위에서 하드코딩으로 한번 사이클 돌려놨기때문에 1부터
while(!(firstValue == result)){ // 사이클 돌리는 조건
plus = Number(result[0]) + Number(result[1])
result = result[1] + `${plus}`.slice(`${plus}`.length-1, `${plus}`.length)
i = i + 1;
}
console.log(i);
}
solution(input)
현타온다
let input = Number(require('fs').readFileSync('/dev/stdin').toString());
let num = input;
let sum;
let i = 0;
while (true) {
i++;
sum = Math.floor(num / 10) + num % 10;
num = (num % 10) * 10 + sum % 10;
if (input === num) {
break;
}
}
console.log(i);