알고리즘/python
[python/파이썬] 백준 1094 막대기
ㅌㅇㄴ
2023. 1. 6. 20:54
반응형
[문제 출처]
https://www.acmicpc.net/problem/1094
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
[문제 풀이]
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)
반응형