제출 답안 - 정답

def solution(need, give, have):
    answer = 0
    while have >= need:
        answer += have // need * give
        have = (have // need) * give + have % need
    return answer

 

 

 

다른 사람의 답안

solution = lambda a, b, n: max(n - b, 0) // (a - b) * b

꺼번에 계산하지 않고 a개만 팔고 b개를 받는 과정은 결국 a-b 개씩 병을 소비하는 것으로 생각,

첫번째 진행할 때는 a개만 소비되기 때문에, b만큼 못받음(-b),

그 조건을 먼저 계산 n-b 반복횟수는 n-b // (a-b) 여기에 받는 병수 b 곱한 것

+ Recent posts