안녕하세요
[node.js] 1110 더하기 사이클 (자바스크립트) 문자열 단계 본문
1110 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수입니다.
주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수(01)로 만듭니다.
각 자리의 숫자를 더합니다.
주어진 수의 가장 오른쪽 자리 수와 구한 합의 가장 오른쪽 자리 수를 이어 붙입니다.
26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다.
위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다.
N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오.
26
결과
4
제출한 답
const input = Number(require("fs").readFileSync("dev/stdin").toString());
let count = 0;
let startNumber = input;
while (true) {
count++;
let plusNum = (Math.floor(startNumber / 10) + (startNumber % 10)) % 10;
let newNum = String(startNumber % 10) + String(plusNum);
startNumber = newNum;
if (startNumber == input) {
console.log(count);
break;
}
}
- let plusNum = (Math.floor(startNumber / 10) + (startNumber % 10)) % 10;
각 자리의 숫자를 더한 결과를 구합니다. - let newNum = String(startNumber % 10) + String(plusNum);
새로운 숫자를 구합니다. - startNumber = newNum;
새로운 숫자를 구하는 수식에 넣기 위해서 변수를 새로운 값으로 바꿉니다.
'백준 자바스크립트' 카테고리의 다른 글
[node.js] 10757 큰 수 A + B (자바스크립트) 기본수학단계1 (0) | 2022.06.05 |
---|---|
[node.js] 2839 설탕배달 (자바스크립트) 기본수학단계1 (0) | 2022.06.04 |
[node.js] 2775 부녀회장이 될테야 (자바스크립트) 2차원 배열 기본 수학 단계 (0) | 2022.05.24 |
[node.js] 기본 수학 단계 (자바스크립트) 1712 ~ (0) | 2022.05.12 |
[node.js] 문자열 단계 (자바스크립트) 11654 ~ (0) | 2022.05.10 |