๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

[๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜] 1110๋ฒˆ - ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 2. 1.
๋ฐ˜์‘ํ˜•

4. while๋ฌธ - ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด

 

 

๋ฌธ์ œ) 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์˜ ์‚ฌ์ดํด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ ์ถœ๋ ฅ
26 4

 

์ž…๋ ฅ ์ถœ๋ ฅ
55 3

 

์ž…๋ ฅ ์ถœ๋ ฅ
1 60

 

import java.util.Scanner;

public class Main {
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();  // ์ •์ˆ˜ ์ž…๋ ฅ
		int num = n;  // ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜๋ฅผ num์— ๋‹ด๊ธฐ
		int cnt = 0;  // ์‚ฌ์ดํด ๊ธธ์ด

		do {
			num = (num % 10) * 10 + (num / 10 + num % 10) % 10;
			// 1. (num % 10) * 10 → ์ž…๋ ฅํ•œ ์ˆซ์ž์˜ ์ผ์˜์ž๋ฆฌ์ˆ˜๋ฅผ ์‹ญ์˜ ์ž๋ฆฌ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค
			// 2. num / 10 + num % 10 → ์ž…๋ ฅํ•œ ์ˆซ์ž์˜ ์‹ญ์˜์ž๋ฆฌ์ˆ˜์™€ ์ผ์˜์ž๋ฆฌ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๋”ํ•ด์ค€๋‹ค
			// (num / 10 + num % 10) % 10 → ๋”ํ•œ ๊ฐ’์˜ ์ผ์˜์ž๋ฆฌ์ˆ˜๋ฅผ ์ถ”์ถœํ•œ๋‹ค
			cnt++; // ์‚ฌ์ดํด ๊ธธ์ด 1 ์ฆ๊ฐ€
		} while (n != num);  // ์ž…๋ ฅํ•œ ์ •์ˆ˜์™€ ์—…๋ฐ์ดํŠธ๋˜๋Š” num๊ณผ ๊ฐ™์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต,
							 // ๊ฐ™์œผ๋ฉด do-while๋ฌธ ๋น ์ ธ๋‚˜์˜ด

		System.out.println(cnt);  // ์‚ฌ์ดํด ๊ธธ์ด ์ถœ๋ ฅ
	}
}

 

์‹์„ ๋”ฐ๋กœ๋”ฐ๋กœ ๋–ผ์™€์„œ ์ถœ๋ ฅํ•ด๋ดค์Œ. ๋‚ด ๋ธ”๋กœ๊ทธ๋ฅผ ๋ณผ ๋‹ค๋ฅธ ์ด๋“ค์„ ์œ„ํ•˜์—ฌ..

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€