[백준] 1052번 물병

거북이·2023년 2월 6일
0

백준[실버1]

목록 보기
32/67
post-thumbnail

💡문제접근

  • 물병의 개수를 2진법으로 나타냈을때, 만약 1의 개수가 K보다 작다면 while문을 멈추고 상점에서 사야 하는 물병의 개수의 최솟값을 출력해주면 된다.

💡코드(메모리 : 31256KB, 시간 : 3780ms)

import sys
input = sys.stdin.readline

N, K = map(int, input().strip().split())

cnt = 0
while bin(N).count("1") > K:
    N += 1
    cnt += 1
print(cnt)

💡소요시간 : 10m

0개의 댓글