์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Python

๋ฐฑ์ค€ (boj) ํŒŒ์ด์ฌ - 1094 ๋ง‰๋Œ€๊ธฐ

  • -

๋ฌธ์ œ๋งํฌ : https://www.acmicpc.net/problem/1094

 

1094๋ฒˆ: ๋ง‰๋Œ€๊ธฐ

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

www.acmicpc.net

 

๋ญ”๊ฐ€ ์ƒ๊ฐ ๋ชปํ•œ ๋ฐ˜๋ก€๊ฐ€ ์žˆ์„๊ฑฐ๋ผ๋Š” ๋Š๋‚Œ์ด ์žˆ์—ˆ์ง€๋งŒ, ์—†์—ˆ๋‹ค. ๋ฌธ์ œ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„๋งŒ ํ•˜๋ฉด ์ •๋‹ต์ด์—ˆ๋‹ค.

64๋ฅผ ๋ฐ˜์œผ๋กœ ์ž๋ฅด๊ณ  ์ž˜๋ผ์„œ, ์ฃผ์–ด์ง„ x๊ธธ์ด๋ฅผ ๋งŒ๋“œ๋ ค๋ฉด, ๋ช‡๊ฐœ๋ฅผ ์ด์–ด๋ถ™์–ด์•ผ ํ•˜๋Š”๊ฐ€์˜€๋‹ค.

์‹œ์ž‘๋ถ€ํ„ฐ 64์˜ ์•ฝ์ˆ˜๋“ค์„ list ์•ˆ์— ๋„ฃ์–ด๋†“๊ณ ,  x๋ณด๋‹ค ์ž‘์€ ์š”์†Œ๋“ค์„ ๋นผ๊ฐ€๋ฉด์„œ ์นด์šดํŒ…ํ•˜๋Š”์‹์œผ๋กœ ์ฝ”๋”ฉํ–ˆ๋‹ค.

x = int(input())
arr = [64]; temp =64; cnt = 0

for i in range(6):    #64๋“ค์˜ ์•ฝ์ˆ˜๋“ค์„ ๊ตฌํ•˜๋Š” for๋ฌธ
    temp//=2
    arr.append(temp)
    
if x in arr :       #arr ์•ˆ์— ์žˆ๋Š” ์ˆ˜๊ฐ€ x๋ผ๋ฉด, ์ด์–ด๋ถ™์ผ ํ•„์š”์—†์ด 1์„ ์ถœ๋ ฅ.
    print(1)
else :
    for q in arr :  #arr์˜ ํฐ ์š”์†Œ๋ถ€ํ„ฐ ๋ถ™์ด๋Š” ์‹์œผ๋กœ, for๋ฌธ ์ž‘์„ฑ
        if x >= q :
            x -= q
            cnt +=1
    print(cnt)

 

 

 

 

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.