망나니 AWOS의 일상
article thumbnail

문제 요약 및 풀이

문제를 보자마자 아 그림으로 풀어야겠다 싶어서 그림으로 그려봤다.

직접 그려서 풀이

순서는 ① -> -> 순대로 보면 될 것 같다.

 

64를 반으로 나누면 32, 32 2개의 막대가 나오는데 하나의 막대는 버려야 하므로 절반으로 나누어 떨어질 때까지 문제에 있는 2가지 과정을 반복하다 보면 번과 같은 64 32 16 8 4 2 1 이 보여진다.

 

수 들의 공통점은 2^n 승이라는 것. 즉, 2진수로 표현이 가능하다.

 

③번과 같이 10진수로 입력을 받아 2진수로 변환을 해준후 1의 개수가 총 몇 개인지를 반환해주면 된다.

 

완성된 코드!!👍😊

print(bin(int(input()))[2:].count('1'))
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!