n=int(input())
stick=64
cnt=0
while n>0:
if stick>n:
stick//=2
else:
cnt+=1
n-=stick
print(cnt)
<코드 설명>
먼저 막대 길이 n을 입력 받아주었다. 최장 길이인 64를 stick 변수에 저장해주었다.
stick이 n보다 크면 stick을 절반으로 줄인다. 그렇지 않으면 cnt를 1 늘려주고, n에서 stick만큼의 길이를 빼준다.
이렇게 구한 cnt값을 출력해준다.
<실행 결과>
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 4949 균형잡힌 세상 (0) | 2022.05.28 |
---|---|
[BOJ] 9012 괄호 (0) | 2022.05.28 |
[BOJ] 10814 나이순 정렬 (0) | 2022.05.22 |
[BOJ] 1920 수 찾기 (0) | 2022.05.22 |
[BOJ] 1850 최대공약수 (0) | 2022.05.15 |