네카라쿠배 취준반 - 프로그래머스 문제 풀이
[프로그래머스] 콜라 문제 풀이(코딩테스트 입문 Lv. 1) - 파이썬 python
개발자로 취직하기
2022. 12. 15. 19:15
0. 자세한 설명은 YouTube 영상으로
1. 가장 단순한 풀이
def solution(a, b, n):
answer = 0
# 1. 빈 병의 개수 n이 교환 가능한 최소 숫자 a 이상일 때까지 반복
while n >= a:
# 2. b개의 병 추가
answer += b
# 3. 남은 병 계산하기
n = n - a + b
return answer
2. 최적화된 풀이
def solution(a, b, n):
answer = 0
# 1. 빈 병의 개수 n이 교환 가능한 최소 숫자 a 이상일 때까지 반복
while n >= a:
# 2. 현재 빈 병으로 받을 수 있는 새로운 개수 및 나머지 계산
newCount = n // a * b
leftover = n % a
# 3. 정답 반영 및 빈 병 개수 다시 계산
answer += newCount
n = leftover + newCount
return answer