문제
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
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1244번(파이썬): 스위치 켜고 끄기 (0) | 2022.04.14 |
---|---|
[baekjoon] 백준 1057번(파이썬): 토너먼트 (0) | 2022.04.13 |
[baekjoon] 백준 1051번(파이썬): 숫자 정사각형 (0) | 2022.04.11 |
[baekjoon] 백준 14247번(파이썬): 나무 자르기 (0) | 2022.04.10 |
[baekjoon] 백준 2615번(파이썬): 오목 (0) | 2022.04.10 |