반응형
[문제 출처]
https://www.acmicpc.net/problem/1094
[문제 풀이]
64, 32, 16, 8, 4, 2, 1의 길이를 가진 막대기가 있을 때, 몇 개의 막대를 이어 붙였을 때 x를 만들 수 있는지 물어보는 문제이다.
결국 이진법으로 x를 표현했을 때 1이 몇개 있는지 묻는 문제로 이진수로도 풀 수 있다.
#1094
x = int(input())
stick = [64, 32, 16, 8, 4, 2, 1]
cnt = 0
for i in range(len(stick)):
if x == 0:
break
if stick[i] <= x:
x -= stick[i]
cnt += 1
print(cnt)
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 1009 분산처리 (0) | 2023.01.10 |
---|---|
[python/파이썬] 백준 1205 등수 구하기 (0) | 2023.01.09 |
[python/파이썬] 백준 1049 기타줄 (0) | 2023.01.05 |
[python/파이썬] 백준 1026 보물 (0) | 2023.01.04 |
[python/파이썬] 백준 9625 BABBA (0) | 2023.01.03 |