💡문제접근
- 물병의 개수를 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