1 분 소요

문제 링크

내 풀이

def solution(a, b, n):
    bottles = []
    total = n
    while total >= a:
        bottle = total // a
        bottles.append(bottle*b)
        total = total - a * bottle + bottle * b
    return sum(bottles)

다른 풀이

def solution(a, b, n):
    get_cola = 0  # 받을 수 있는 콜라 병 수를 저장하는 변수

    # 빈 병을 가져가서 콜라를 받아올 수 있을동안 반복
    while n >= a:
        
        # 빈 병을 가져가서 콜라를 받음
        # n // a: 현재 보유 중인 빈 병으로 얻을 수 있는 콜라 병 수
        # (n // a) * b: 해당 수량의 콜라를 받음
        get_cola += (n // a) * b
        
        # 새로 받은 콜라로 다시 빈 병을 만듦
        # n % a: 현재 보유 중인 빈 병 중 남은 병의 수
        # (n // a) * b: 새로 받은 콜라로 인해 생긴 새로운 빈 병의 수
        n = (n % a) + (n // a) * b
        
    # 최종적으로 받을 수 있는 전체 콜라 병 수 반환
    return get_cola

풀이 방버

받을 수 있는 콜라 병 수를 변수로 지정

배울 점

  • n 변수 그대로 사용하기

댓글남기기