๐Ÿ ํŒŒ์ด์ฌ ์ƒ์ดˆ์งœ

[BOJ][Python] ๋ฐฑ์ค€ 1094๋ฒˆ: ๋ง‰๋Œ€๊ธฐ (Silver V)

์„ ๋‹ฌ 2024. 10. 25. 01:02
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

์ง€๋ฏผ์ด๋Š” ๊ธธ์ด๊ฐ€ 64cm์ธ ๋ง‰๋Œ€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์–ด๋Š ๋‚ , ๊ทธ๋Š” ๊ธธ์ด๊ฐ€ Xcm์ธ ๋ง‰๋Œ€๊ฐ€ ๊ฐ€์ง€๊ณ  ์‹ถ์–ด์กŒ๋‹ค. ์ง€๋ฏผ์ด๋Š” ์›๋ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ง‰๋Œ€๋ฅผ ๋” ์ž‘์€ ๋ง‰๋Œ€๋กœ ์ž๋ฅธ๋‹ค์Œ์—, ํ’€๋กœ ๋ถ™์—ฌ์„œ ๊ธธ์ด๊ฐ€ Xcm์ธ ๋ง‰๋Œ€๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค.
๋ง‰๋Œ€๋ฅผ ์ž๋ฅด๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ์ ˆ๋ฐ˜์œผ๋กœ ์ž๋ฅด๋Š” ๊ฒƒ์ด๋‹ค. ์ง€๋ฏผ์ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ๋ง‰๋Œ€๋ฅผ ์ž๋ฅด๋ ค๊ณ  ํ•œ๋‹ค.
X๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์œ„์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค๋ฉด, ๋ช‡ ๊ฐœ์˜ ๋ง‰๋Œ€๋ฅผ ํ’€๋กœ ๋ถ™์—ฌ์„œ Xcm๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— X๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. X๋Š” 64๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

๋ฌธ์ œ์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค๋ฉด, ๋ช‡ ๊ฐœ์˜ ๋ง‰๋Œ€๋ฅผ ํ’€๋กœ ๋ถ™์—ฌ์„œ Xcm๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

remain = 64

x = int(input())

ans = 0 # ๋ง‰๋Œ€ ๊ฐฏ์ˆ˜

while x:
    if remain <= x:
        x -= remain
        ans += 1
    remain //= 2

print(ans)
๋ฐ˜์‘ํ˜•