CodingTest/Baekjoon

[baekjoon] 백준 1052번(파이썬): 물통

JunJangE 2022. 4. 12. 02:36

문제

 

1052번: 물병

지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번

www.acmicpc.net

알고리즘

- 이진수를 통해 문제를 해결한다.

- bin(n).count('1')은 물병의 개수로 물병의 개수가 k개보다 작을 때까지 반복하여 1L 물병을 구입한다.

코드

import sys

n, k = map(int, sys.stdin.readline().split())
cnt = 0

#  bin(n).count('1') => 물병의 개수
# 물병의 개수가 k개보다 작을 때까지 반복
while bin(n).count('1') > k:
    # 1L 물 구입
    n += 1
    cnt += 1

# 구매한 물통의 개수 출력
print(cnt)

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com