๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ/๐™‚๐™ค๐™ค๐™ง๐™ข ๐™‡๐™€๐™‘๐™€๐™‡

[๊ตฌ๋ฆ„๋ ˆ๋ฒจ] '์˜์ข‹์€ ํ˜•์ œ' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 6. 20.
728x90
๋ฐ˜์‘ํ˜•
https://level.goorm.io/exam/49088/%EC%9D%98%EC%A2%8B%EC%9D%80-%ED%98%95%EC%A0%9C/quiz/1
 

๊ตฌ๋ฆ„LEVEL

๊ตฌ๋ฆ„LEVEL ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜๊ณ  ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ๋ณด์™„ํ•˜๋ฉฐ ์‹ค๋ ฅ์„ ํ‚ค์›Œ๋ณด์„ธ์š”. ๊ตฌ๋ฆ„LEVEL์€ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ๋†’์€ ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ํ’€์ดํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ ์ €์ง€ ์„œ๋น„์Šค์ž…

level.goorm.io

 

duo = list(map(int, input().split()))

for i in range(int(input())):
	q, r = divmod(duo[i%2], 2)
	duo[i%2] = q
	duo[i%2 -1] += q + r 

print(*duo)

"""
๋ฌธ์ œ ์ง€๋ฌธ์—์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฒŒ ํ™€์ˆ˜๋ผ๋ฉด ๋ชจ๋‘ ์ค€๋‹ค๊ณ  ํ•˜์—ฌ ๋‹ค์ฃผ๋Š”์ง€ ์•Œ์•˜๋Š”๋ฐ
2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ถ€๋ถ„์„ ์ฃผ๋Š”๊ฑฐ์˜€๋‹ค. ๋ฌธ์ œ๋ฅผ ์ž˜๋ชป์ ์€๊ฒŒ ์•„๋‹Œ๊ฐ€ ์‹ถ๋‹ค.

๋จผ์ € ํ˜•์ œ์˜ ์ดˆ๊ธฐ๊ฐ’์„ duo๋ผ๋Š” list๋ณ€์ˆ˜์— ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.
์„œ๋กœ ๋ฐ˜์”ฉ ๋‚˜๋ˆ„์–ด์ง€๋Š” ํ–‰์œ„๋ฅผ ํšŸ์ˆ˜๋งŒํผ for๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.
divmod๋ผ๋Š”๊ฑด divmod(a,b)์ผ๋•Œ a๋ฅผ b๋กœ ๋‚˜๋ˆˆ๊ฐ’์„ ๋ชซ, ๋‚˜๋จธ์ง€๋กœ ๋ฆฌํ„ดํ•ด์ค€๋‹ค.

duo[i%2]์˜ ๊ฐ’์„ 2๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค.
์ด๊ฑด ์ฒซ๋‚ ์—๋Š” ์ง„์šฐ, ๋‘˜์งธ๋‚ ์—๋Š” ์„ ์šฐ, ์…‹์งธ๋‚ ์—๋Š” ์ง„์šฐ๊ฐ€ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
i = 2 ์ผ๋•Œ 3์ผ๋‚ ์ด๊ณ , (i=2)%2๋กœ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค์ธ ์ง„์šฐ๊ฐ€ ์ฃผ๊ฒŒ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‚˜๋ˆ„์–ด์ค€ ์‚ฌ๋žŒ์€ ๋ชซ๊ฐ’์„ ๊ฐ€์ง€๊ณ ,
๋ฐ›๋Š” ์‚ฌ๋žŒ์€ ๋ชซ๊ณผ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค.
๋‚˜๋จธ์ง€๋Š” 0๋˜๋Š” 1์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™€์ˆ˜์ผ๋•Œ๋Š” ๋ฐ›๋Š”์‚ฌ๋žŒ์ด ๊ฐ€์ ธ๊ฐ€๊ฒŒ ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  duo[i%2 -1]์€ ์ธ๋ฑ์Šค๊ฐ€ 2๊ฐœ์ด๊ธฐ๋•Œ๋ฌธ์— ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆญ์ด๋‹ค.
0๋ฒˆ์งธ ์ธ๋ฑ์Šค์ผ๋•Œ๋Š” -1์ด ๋˜๊ณ , -1์€ ๋งˆ์ง€๋ง‰์‚ฌ๋žŒ, ์ฆ‰, 1๋ฒˆ์งธ ์ธ๋ฑ์Šค ์‚ฌ๋žŒ์ด ๋œ๋‹ค.
1๋ฒˆ์งธ ์ธ๋ฑ์Šค์ผ๋•Œ๋Š” 0์ด ๋˜๊ณ , 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค.

ํŠธ๋ฆญ์„ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•˜๊ฒŒ ์จ์ง€๊ฒŒ ๋œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ *ํ‘œ์‹œ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์„ ๋นˆ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด []์—†์ด ํ‘œ์‹œํ•œ๋‹ค.
ex) duo -> [1,2], *duo -> 1 2
"""
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€