알고리즘 공부/백준
(Python)백준 코딩테스트 연습 - 물병(1052)
HRuler
2023. 6. 20. 13:02
1. 문제
https://www.acmicpc.net/problem/1052
1052번: 물병
지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# n : 물병 수, k : 옮길 수 있는 물병 수
n, k = map(int, input().split())
if n <= k:
print(0)
else:
while k != 1 and n != 1:
squareNum = 1
while squareNum <= n:
squareNum *= 2
squareNum //= 2
# print("squareNum :", squareNum)
n -= squareNum
k -= 1
# print("n :", n)
if n == 0:
n += 1
squareNum = 1
while squareNum < n:
squareNum *= 2
print(squareNum - n)