[python] 백준 1094번 막대기알고리즘/백준2021. 9. 16. 21:14
Table of Contents
문제 요약 및 풀이
문제를 보자마자 아 그림으로 풀어야겠다 싶어서 그림으로 그려봤다.
순서는 ① -> ② -> ③ 순대로 보면 될 것 같다.
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'))
'알고리즘 > 백준' 카테고리의 다른 글
[python] 백준 20112번 사토르 마방진 (0) | 2021.09.21 |
---|---|
[python] 백준 11723번 집합 (0) | 2021.09.16 |
[python] 백준 1668번 트로피 진열 (0) | 2021.09.15 |
[python] 백준 1075번 나누기 (0) | 2021.09.13 |
[python] 백준 1977번 완전제곱수 (8) | 2021.09.09 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊