본문 바로가기
코딩테스트

[백준] 1094번 막대기 - Python

by CuckooBird 2023. 2. 25.

백준 실버5 1094번 막대기 - Python

https://www.acmicpc.net/problem/1094


문제

출력 예시를 보면, 2의 제곱수로만 이루어진 더하기로 x를 만들면 된다는 것을 알 수 있습니다.

 

따라서 x에 2를 나눠주면서, 나머지가 1일 경우에만 cnt라는 변수에 1씩 더해주면 됩니다.


코드

맞았습니다가 뜬 코드입니다. - 메모리 31256KB | 시간 44ms | 코드 길이 147B

import sys
input = sys.stdin.readline
x = int(input().rstrip())
cnt = 0
while x > 0:
    if x % 2 == 1:
        cnt += 1
    x = x // 2
print(cnt)

후기

백준과 깃헙 잔디심고 싶어서 암거나 했습니당ㅎ