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 ์ถ๋ ฅ
๐ป ํ์ด์ค๋ช
- True์ผ ๊ฒฝ์ฐ ๊ณ์ ๋ฐ๋ณต
- split()์ผ๋ก ์ ๋ ฅ๋ฐ๋ ๊ฐ์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋๋์ด A, B์ ๋์ ํ map()์ intํ ๋ณํ
- ๋ง์ฝ A์ B๊ฐ 0์ผ ๊ฒฝ์ฐ
- 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๋ฌธ ๋น ์ ธ๋์ด
๐ป ํ์ด์ค๋ช
- while๋ฌธ์ ์ฌ์ฉํ์ฌ True์ผ ๊ฒฝ์ฐ ๊ณ์ ๋ฐ๋ณตํ๋๋ก ํจ.
- try, except๋ฌธ์ ์ฌ์ฉํ์ฌ try ๋ธ๋ก์๋ A, B๋ฅผ ์ ๋ ฅ๋ฐ๊ณ A+B๋ฅผ ์ถ๋ ฅํจ.
- 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) # ๋ช ๋ฒ ๋ฐ๋ณตํ๋์ง ์ถ๋ ฅ
๐ป ํ์ด์ค๋ช
- ์ฐ์ฐํ ์ซ์ intํ์ผ๋ก ์ ๋ ฅ๋ฐ๊ธฐ.
- while๋ฌธ์ ์ฌ์ฉํ์ฌ True์ผ ๊ฒฝ์ฐ ๊ณ์ ๋ฐ๋ณตํ๋๋ก ํจ.
- ์ ๋ ฅ๋ฐ์ ์๋ฅผ 10์ผ๋ก ๋๋๋ ๊ฒ๊ณผ 10์ผ๋ก ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ ์๋ฆฌ ์๋ก ๋๋์ด ๊ฐ ์๋ฆฌ์ ์ซ์๋ฅผ ๋ํจ.
- ์ฃผ์ด์ง ์์ ์ค๋ฅธ์ชฝ ์๋ฆฌ ์์ (์ฐ๊ฒฐํ๊ธฐ ์ํด 10์ ๊ณฑํจ) ์์์ ๊ตฌํ ํฉ์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ฆฌ ์๋ฅผ ์ด์ด๋ถ์.
- ์๋ ์๋ก ๋์๊ฐ๊ธฐ ์ํด์ ๋ช ๋ฒ ๋ฐ๋ณตํ๊ธฐ ์ํด 1์ฉ ๋ํจ.
- ์๋ ์ฒ์ ์ ๋ ฅํ๋ N์ ์๋ก ๋ง๋ ์ซ์๋ฅผ ์ ์ฅํ๋ฉฐ ์๋ ์๋ก ๋์๊ฐ ๋๊น์ง ์ ์ฅ.
- ์๋ก ๋ง๋ ๋จ์ด์ ์๋ ์ ๋ ฅํ ๋จ์ด๊ฐ ์ผ์นํ ๊ฒฝ์ฐ while๋ฌธ์ ๋น ์ ธ๋์ด.
- ์๋ ์๋ก ๋์๊ฐ ๋๊น์ง ์ฐ์ฐ์ ๋ช ๋ฒ ๋ฐ๋ณตํ๋์ง ์ถ๋ ฅ.
๐ ํ์ต๋ฐฉ๋ฒ
python์ while๋ฌธ ํ์ต๊ณผ ์ซ์๋ฅผ ์๋ฆฌ ์ ๋๋ก ๋๋์ด ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ ํ์ตํ๊ธฐ.
'์ฝ๋ฉ ํ ์คํธ > Baejoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2562๋ฒ - ์ต๋๊ฐ (0) | 2021.05.14 |
---|---|
[๋ฐฑ์ค] 10818๋ฒ - ์ต์, ์ต๋ (0) | 2021.05.13 |
[๋ฐฑ์ค] 3. for๋ฌธ (0) | 2021.05.10 |
[๋ฐฑ์ค] 2. if๋ฌธ (0) | 2021.05.09 |
[๋ฐฑ์ค] 1. ์ ์ถ๋ ฅ๊ณผ ์ฌ์น์ฐ์ฐ (0) | 2021.05.07 |