λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 1110번 : λ”ν•˜κΈ° 사이클

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 6. 18.

 

 

 

Algorithm

-  λ”ν•˜κΈ° 사이클 -

 


 

문제

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의 μ‚¬μ΄ν΄μ˜ 길이λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

문제 ν’€κΈ°

let fs = require("fs");
let input = Number(fs.readFileSync("/dev/stdin").toString());

let box = input;
let sum;
let count = 0;

while (true) {
	sum = Math.floor(box / 10) + (box % 10);
	box = (box % 10) * 10 + (sum % 10);
	count++;
	if (input === box) {
		console.log(count);
		break;
	}
}

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€