공부 자료/알고리즘
(Python/파이썬) 백준 1094번 - 막대기
뚜루뚜루세니
2021. 8. 1. 11:08
728x90
문제출처: https://www.acmicpc.net/problem/1094
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
1. 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
x=int(input())
stick =[64,32,16,8,4,2,1]
cnt =0
for i in range(len(stick)):
if x>=stick[i]:
cnt+=1
x -= stick[i]
if x ==0:
break
print(cnt)
|
cs |
2. 해결과정
지민이가 처음에 가지고 있던 막대기의 길이가 64이고 계속 절반씩 자르기 때문에 64,32,16,8,4,2,1를 리스트에 우선 저장을 해준다. 큰 막대기부터 x와 비교를 해서 x가 더 크면 그 막대기를 붙이고, x에서는 그 막대기의 길이 만큼 빼준다. 남은 길이만큼을 또 다시 다른 막대기들과 비교해서 x가 0일때까지 반복을 해주면 된다.
3. 느낀점
처음에 문제가 이해가 안되서 어려웠던 문제. 구현은 쉬웠다
728x90