์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/BOJ_Python

[BOJ/Step4] 1110 : ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด (Python)

NaNaRin๐Ÿ™ƒ 2021. 2. 2. 20:29

www.acmicpc.net/problem/1110

 

1110๋ฒˆ: ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด

0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 99๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋จผ์ € ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ 10๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ์•ž์— 0์„ ๋ถ™์—ฌ ๋‘ ์ž๋ฆฌ ์ˆ˜๋กœ ๋งŒ๋“ค๊ณ , ๊ฐ ์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ๋”ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ,

www.acmicpc.net


๋ฌธ์ œ

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์˜ ์‚ฌ์ดํด ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 1

26

 

์˜ˆ์ œ ์ถœ๋ ฅ 1

4

 

์˜ˆ์ œ ์ž…๋ ฅ 2

55

 

์˜ˆ์ œ ์ถœ๋ ฅ 2

3

 

์˜ˆ์ œ ์ž…๋ ฅ 3

1

 

์˜ˆ์ œ ์ถœ๋ ฅ 3

60

 

์˜ˆ์ œ ์ž…๋ ฅ 4

0

 

์˜ˆ์ œ ์ถœ๋ ฅ 4

1


ํ’€์ด

์ฒ˜์Œ์— ์ด๋ ‡๊ฒŒ ํ’€์—ˆ๋Š”๋ฐ ๋ญ”๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต๊ณ  ๊ตณ์ด ์ด๋ ‡๊ฒŒ str์ด๋ž‘ int๋ฅผ ์™”๋‹ค๊ฐ”๋‹ค ํ•ด์•ผ๋˜๋‚˜ ์‹ถ์–ด์„œ

python
๋‹ซ๊ธฐ
# 1110.py n = int(input()) nn = n count = 0 while True: โ€‹โ€‹โ€‹โ€‹if nn == n and count != 0: โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹break โ€‹โ€‹โ€‹โ€‹if int(n) < 10: โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹n = int(str(n) * 2) โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹count += 1 โ€‹โ€‹โ€‹โ€‹else: โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹n = str(n) โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹a = str(int(n[0]) + int(n[1])) โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹if int(a) < 10: โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹n = n[1] + a[0] โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹else: โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹n = n[1] + a[1] โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹n = int(n) โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹count += 1 print(count)

 

๊ทธ๋ƒฅ int๋กœ๋งŒ ํ’€์—ˆ๋‹ค

python
๋‹ซ๊ธฐ
# 1110.py n = int(input()) nn = n count = 0 while True: โ€‹โ€‹โ€‹โ€‹if nn == n and count != 0: โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹break โ€‹โ€‹โ€‹โ€‹a = n // 10 โ€‹โ€‹โ€‹โ€‹b = n % 10 โ€‹โ€‹โ€‹โ€‹c = a + b โ€‹โ€‹โ€‹โ€‹n = int(str(b) + str(c % 10)) โ€‹โ€‹โ€‹โ€‹count += 1 print(count)

 

์กฐ๊ฑด์ด ์ค„๊ณ  ์ข€ ๋” ๊ฐ„๋‹จํ•ด์ง„๊ฑฐ ๊ฐ™๊ธด ํ•œ๋ฐ ์‹œ๊ฐ„์€ ๋น„์Šทํ•˜๊ฒŒ ๋‚˜์˜ค๋”๋ผ

์ž๋ฐ”๋ž‘ ๋น„๊ตํ•˜๋ฉด ์‹œ๊ฐ„์ด ๊ฑฐ์˜ 1/4๋กœ ์ค„์—ˆ๋‹ค ใ„ทใ„ท