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
'파이썬 > 코딩테스트' 카테고리의 다른 글
알고리즘 소수 구하기 (0) | 2024.03.23 |
---|---|
[프로그래머스] 숫자 짝궁 - Python(파이썬) (0) | 2024.03.23 |
[프로그래머스] 옹알이(2) - Python(파이썬) (0) | 2024.03.23 |
[프로그래머스] 햄버거 만들기 - Python(파이썬) (0) | 2024.03.23 |
[프로그래머스] 푸드 파이트 대회 - Python(파이썬) (0) | 2024.03.23 |