ec2 freetier.., 알고리즘

0

알고리즘

목록 보기
18/21

ec2 freetier

85% 넘었다고 알림오는게 좀..
배포를 다른 걸로 해보면 좋겠다.

알고리즘

https://school.programmers.co.kr/learn/courses/30/lessons/132267
콜라 문제
빈 병을 a개 주면 b개 받는 가게가 있다. 빈 병이 n개 있을 때, 받을 수 있는 콜라의 개수를 구해야한다.

1. 나머지를 나중에 합해서 또 반복하는 경우
2. 나머지를 바로 합해서 돌리는 경우

두 경우 모두 적용하기 힘들었다.
특히 다른 사람의 답을 봐도 함수를 만들어서 그걸 반복시키는 경우를 찾아볼 수 없었다.

간단하게 이런 답이 있었다.

def solution(a, b, n):
    answer = 0
    while n >= a:
        n -= a
        answer += b
        n += b
    return answer

내가 이상적이라고 생각했던 답은 이랬다.

def solution(a, b, n):
    answer = 0
    while n >= a:
        r = n % a
        answer += (n // a) * b
        n = (n // a) * b + r
    return answer

위 답도 이미 풀어놓은 답을 보고, 다시 내가 풀어본건데, 그마저도 시행착오가 있었다.

어째서 단순하게 생각하지 못했을까..

0개의 댓글