프로그래머스 lv1 콜라 문제 파이썬
콜라를 받기 위해 마트에 주어야 하는 병 수 a, 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b, 상빈이가 가지고 있는 빈 병의 개수 n이 매개변수로 주어집니다. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요.
1. 어떻게 계산 할것인가? (while/ for/ 재귀함수) 2. n은 어떻게 변화하는가?
처음엔 재귀함수
로 가려다가 변수
를 만들어야 하기도 하고,
global
은 쓰는게 안좋아서 간단하게 while
로 해결했다.
def solution(a, b,n):
result = 0
while n >= a:
result += (n//a) * b
n = (n%a)+(n//a)*b
return result
n
이 a
와 같거나 클 동안만 작동하게 하고,
빈병의 개수는 나눈 몫에 b
를 곱한 양으로 넣어줬다.
그 후 n
은 나머지와 방금 계산한 빈경 개수를 더하는 식
lambda
함수 쓰는 분도 봤는데 왜 이생각은 못했지...🤔🤔🤔
근데 식을 정말 천재적으로 생각하셔서 가져오진 못했다.... 대단하신 분들....
다들 푸시고 확인해 보시길..