
๋ฌธ์
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์ ์ฌ์ดํด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์
๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 99๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ N์ ์ฌ์ดํด ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์
๋ ฅ
55
์์ ์ถ๋ ฅ
3
๋ฌธ์ ์ค๋ช

๋ฌธ์ ํ์ด
- ์ ๋ ฅ ๋ณ์ N์ ์๋ก์ด ๋ณ์(new_N)์ ์ ์ฅํ๋ค.
- ๋ฌดํ ๋ฐ๋ณต์ ํด์ค๋ค.
1) count๋ฅผ ์์ผ์ค๋ค.
2) ๋ชซ๊ณผ ๋๋จธ์ง๋ฅผ ๊ตฌํด์ ๊ฐ๊ฐ ์ ๋ณ์์ ์ ์ฅํ๋ค. ๋ชซ์ 10์๋ฆฌ, ๋๋จธ์ง๋ 1์๋ฆฟ์๋ฅผ ๋ํ๋ธ๋ค.
3) ๊ตฌํ ๋ชซ๊ณผ ๋๋จธ์ง๋ฅผ ๋ํด์ ์ ๋ณ์์ ์ ์ฅํ๋ค.
4) 1๋ฒ์์ ๊ตฌํ 1์๋ฆฟ์(๋๋จธ์ง)์ 2๋ฒ์์ ๊ตฌํ ๋ชซ๊ณผ ๋๋จธ์ง๋ฅผ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์กฐํฉํ๋ค.
5) ์กฐํฉํ ๊ฒฐ๊ณผ๊ฐ ์ ๋ ฅ๊ฐ N๊ณผ ๋ง๋์ง ํ์ธํ๋ค. ๋ง์ผ๋ฉด while๋ฌธ์ ์ข ๋ฃํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. - count๊ฐ์ ์ถ๋ ฅํ๋ค.
Solution
#include <stdio.h>
int main() {
int N, count = 0;
scanf("%d",&N);
int new_N = N;
while(1){
count++;
int q = new_N / 10;
int r = new_N % 10;
int plus = q + r;
new_N = 10*r + plus%10;
if(new_N == N){
break;
}
}
printf("%d", count);
return 0;
}'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 2480๋ฒ : ์ฃผ์ฌ์ ์ธ๊ฐ (C์ธ์ด/Bronze 4) (0) | 2022.07.07 |
|---|---|
| BOJ 10871๋ฒ : X๋ณด๋ค ์์ ์ (C์ธ์ด/Bronze 5) (0) | 2022.07.06 |
| BOJ 2884๋ฒ : ์๋ ์๊ณ (C์ธ์ด/Bronze 3) (0) | 2022.06.24 |
| BOJ 7567๋ฒ : ๊ทธ๋ฆ (C์ธ์ด/Bronze 2) (0) | 2022.06.24 |
| BOJ 5543๋ฒ : ์๊ทผ๋ ๋ (C์ธ์ด/Bronze 4) (0) | 2022.05.24 |