๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/Baejoon

[๋ฐฑ์ค€] 4. while๋ฌธ

10952 :  A+B - 5

๐Ÿ“– ๋ฌธ์ œ

๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๐Ÿ‘€ ์ถœ์ œ์˜๋„

while๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€

๐Ÿงพ ์ฝ”๋“œ

while(True): # True์ผ ๊ฒฝ์šฐ ๊ณ„์† ๋ฐ˜๋ณต
	A, B = map(int, input().split()) # A, B ์ž…๋ ฅ๋ฐ›๊ธฐ
	if A == 0 and B == 0: # ๋งŒ์•ฝ A์™€ B๊ฐ€ 0์ผ ๊ฒฝ์šฐ
		break # while๋ฌธ ๋น ์ ธ๋‚˜์˜ด
	print(A+B) # A+B ์ถœ๋ ฅ

๐Ÿ’ป ํ’€์ด์„ค๋ช…

  1. True์ผ ๊ฒฝ์šฐ ๊ณ„์† ๋ฐ˜๋ณต
  2. split()์œผ๋กœ ์ž…๋ ฅ๋ฐ›๋Š” ๊ฐ’์„ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด A, B์— ๋Œ€์ž… ํ›„ map()์— intํ˜• ๋ณ€ํ™˜
  3. ๋งŒ์•ฝ A์™€ B๊ฐ€ 0์ผ ๊ฒฝ์šฐ
  4. while๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๊ณ  0์ด ์•ˆ๋‹ ๊ฒฝ์šฐ A+B ์ถœ๋ ฅ

๐Ÿ“ ํ•™์Šต๋ฐฉ๋ฒ•

python์˜ while๋ฌธ ํ•™์Šตํ•˜๊ธฐ.


10952 :  A+B - 4

๐Ÿ“– ๋ฌธ์ œ

๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๐Ÿ‘€ ์ถœ์ œ์˜๋„

while๋ฌธ๊ณผ ์˜ˆ์™ธ์ฒ˜๋ฆฌ(try, except๋ฌธ)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€

๐Ÿงพ ์ฝ”๋“œ

while True: # True์ผ ๊ฒฝ์šฐ ๊ณ„์† ๋ฐ˜๋ณต
    try: # try ๋ธ”๋ก ์ˆ˜ํ–‰ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด except ๋ธ”๋ก ์‹คํ–‰
        A, B = map(int, input().split()) # split()์„ ์ด์šฉํ•˜์—ฌ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ A, B์— ์ €์žฅํ•˜๊ณ  map()์œผ๋กœ intํ˜• ๋ณ€ํ™˜
        print(A + B) # A+B ์ถœ๋ ฅ
    except: # ํ•˜์ง€๋งŒ try ๋ธ”๋ก์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด except ๋ธ”๋ก์€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Œ
        break; # while๋ฌธ ๋น ์ ธ๋‚˜์˜ด

๐Ÿ’ป ํ’€์ด์„ค๋ช…

  1. while๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ True์ผ ๊ฒฝ์šฐ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๋„๋ก ํ•จ.
  2. try, except๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ try ๋ธ”๋ก์—๋Š” A, B๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  A+B๋ฅผ ์ถœ๋ ฅํ•จ.
  3. except ๋ธ”๋ก์—๋Š” ์˜ค๋ฅ˜๋ฐœ์ƒ ์‹œ while๋ฌธ์—์„œ ๋น ์ ธ๋‚˜์˜ค๋„๋ก ํ•œ๋‹ค.

๐Ÿ“ ํ•™์Šต๋ฐฉ๋ฒ•

python์˜ while๋ฌธ๊ณผ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•™์Šตํ•˜๊ธฐ.


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

๐Ÿ“– ๋ฌธ์ œ

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

๐Ÿ‘€ ์ถœ์ œ์˜๋„

while๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ˆซ์ž๋ฅผ ์ž์œ ์ž์žฌ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•œ์ง€

๐Ÿงพ ์ฝ”๋“œ

# ์›๋ž˜ ์ˆ˜๋กœ ๋Œ์•„๊ฐˆ ๋•Œ๊นŒ์ง€ ์—ฐ์‚ฐ์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฌธ์ œ
N = int(input()) # ์ˆซ์ž ์ž…๋ ฅ
temp = 0
check = N
cnt = 0
new_num = 0

while True: # Ture์ผ ๊ฒฝ์šฐ ๊ณ„์† ๋ฐ˜๋ณต
	temp = (N//10) + (N%10) # ๋‘ ์ž๋ฆฌ ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด์„œ ๊ฐ ์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ๋”ํ•จ
	new_num = (N%10)*10 + (temp%10) # ์ฃผ์–ด์ง„ ์ˆ˜์˜ ์˜ค๋ฅธ์ชฝ ์ž๋ฆฌ ์ˆ˜์™€ ์•ž์—์„œ ๊ตฌํ•œ ํ•ฉ์˜ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์ž๋ฆฌ ์ˆ˜๋ฅผ ์ด์–ด๋ถ™์ž„ 
	cnt += 1 # ์›๋ž˜ ์ˆ˜๋กœ ๋Œ์•„๊ฐ€๊ธฐ ์œ„ํ•ด์„œ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด์„œ 1์”ฉ ์ฆ๊ฐ€
	N = new_num # ์›๋ž˜ ์ฒ˜์Œ ์ž…๋ ฅํ–ˆ๋˜ N์— ์ƒˆ๋กœ ๋งŒ๋“  ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜์—ฌ ์›๋ž˜ ์ˆ˜๋กœ ๋Œ์•„๊ฐˆ ๋•Œ๊นŒ์ง€ ์ €์žฅ
	if new_num == check: # ์ƒˆ๋กœ์šด ๋งŒ๋“  ๋‹จ์–ด์™€ ์›๋ž˜ ์ž…๋ ฅํ•œ ๋‹จ์–ด๊ฐ€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ
		break # while๋ฌธ ๋น ์ ธ๋‚˜์˜ด
print(cnt) # ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ–ˆ๋Š”์ง€ ์ถœ๋ ฅ

๐Ÿ’ป ํ’€์ด์„ค๋ช…

  1. ์—ฐ์‚ฐํ•  ์ˆซ์ž intํ˜•์œผ๋กœ ์ž…๋ ฅ๋ฐ›๊ธฐ.
  2. while๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ True์ผ ๊ฒฝ์šฐ ๊ณ„์† ๋ฐ˜๋ณตํ•˜๋„๋ก ํ•จ.
  3. ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๊ณผ 10์œผ๋กœ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‘ ์ž๋ฆฌ ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ ์ž๋ฆฌ์˜ ์ˆซ์ž๋ฅผ ๋”ํ•จ.
  4. ์ฃผ์–ด์ง„ ์ˆ˜์˜ ์˜ค๋ฅธ์ชฝ ์ž๋ฆฌ ์ˆ˜์™€ (์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 10์„ ๊ณฑํ•จ) ์•ž์—์„œ ๊ตฌํ•œ ํ•ฉ์˜ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์ž๋ฆฌ ์ˆ˜๋ฅผ ์ด์–ด๋ถ™์ž„.
  5. ์›๋ž˜ ์ˆ˜๋กœ ๋Œ์•„๊ฐ€๊ธฐ ์œ„ํ•ด์„œ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•˜๊ธฐ ์œ„ํ•ด 1์”ฉ ๋”ํ•จ.
  6. ์›๋ž˜ ์ฒ˜์Œ ์ž…๋ ฅํ–ˆ๋˜ N์— ์ƒˆ๋กœ ๋งŒ๋“  ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๋ฉฐ ์›๋ž˜ ์ˆ˜๋กœ ๋Œ์•„๊ฐˆ ๋•Œ๊นŒ์ง€ ์ €์žฅ.
  7. ์ƒˆ๋กœ ๋งŒ๋“  ๋‹จ์–ด์™€ ์›๋ž˜ ์ž…๋ ฅํ•œ ๋‹จ์–ด๊ฐ€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ while๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ด.
  8. ์›๋ž˜ ์ˆ˜๋กœ ๋Œ์•„๊ฐˆ ๋•Œ๊นŒ์ง€ ์—ฐ์‚ฐ์„ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ–ˆ๋Š”์ง€ ์ถœ๋ ฅ.

๐Ÿ“ ํ•™์Šต๋ฐฉ๋ฒ•

python์˜ while๋ฌธ ํ•™์Šต๊ณผ ์ˆซ์ž๋ฅผ ์ž๋ฆฌ ์ˆ˜ ๋Œ€๋กœ ๋‚˜๋ˆ„์–ด ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ• ํ•™์Šตํ•˜๊ธฐ.