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); // ์ฌ์ดํด ๊ธธ์ด ์ถ๋ ฅ
}
}
์์ ๋ฐ๋ก๋ฐ๋ก ๋ผ์์ ์ถ๋ ฅํด๋ดค์. ๋ด ๋ธ๋ก๊ทธ๋ฅผ ๋ณผ ๋ค๋ฅธ ์ด๋ค์ ์ํ์ฌ..
'Algorithm > ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ] 5543๋ฒ - ์๊ทผ๋ ๋ (0) | 2021.02.01 |
---|---|
[๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ] 10039๋ฒ - ํ๊ท ์ ์ (0) | 2021.02.01 |
[๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ] 10951๋ฒ - A+B - 4 (0) | 2021.02.01 |
[๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ] 10952๋ฒ - A+B - 5 (0) | 2021.02.01 |
[๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ] 10871๋ฒ - X๋ณด๋ค ์์ ์ (0) | 2021.02.01 |
๋๊ธ