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

+ Recent posts