파이썬/코딩테스트
[프로그래머스] 콜라 문제 - Python(파이썬)
대전집주인
2024. 3. 23. 16:46
728x90
SMALL
문제 이해
- 빈병 콜라 a개를 주면 b개를 준다.
- n개의 빈병을 가져다 주면 총 몇개의 빈 병을 돌려받는가
- 식 : n - n의 최대공약수 + n//a = n
n개는 내가 가지고 있는 빈 병 개수로 루프를 돌때 가지고 있는 빈병이 필요한 빈병 개수보다 작으면 탈출한다.
루프를 돌때마다 내가 가지고 있는 병으로 나올수 있는 최대 빈병수들을 더한다.
def solution(a, b, n):
answer = 0
while True:
if n < a:
break
count = (n//a) * b
n = n - ((n//a)*a) + count
answer += count
return answer
728x90
LIST