코딩테스트-콜라문제

728x90
반응형

문제 : 돌려받을 수 있는 콜라병의 개수는 ?

n : 빈 콜라병의 개수
b : a개의 빈 콜라병을 반납했을때 받을 수 있는 콜라의 개수
a : b개의 콜라병을 받기위해 반납해야 하는 빈 콜라병의 개수

int solution(int a, int b, int n)
{
    int cola = 0;
    int remaining = n;
    int get_cola = 0;

    while(remaining >= a)   {
        cola = remaining / a; // 10
        cola *= b;
        remaining = (remaining % a) + cola; 
        get_cola += cola;
    }

    return get_cola;
}

int main(void)
{
    cout << solution(2, 1, 20) << endl;
    cout << solution(3, 1, 20) << endl;

    return 0;
}

 

프로그래머스에서 입문 문제를 끝내고 모든문제에서 Lv1으로 필터링을 걸어서 문제를 풀고있다. 난이도가 조금씩 올라가는게 느껴진다. 

다른사람들의 풀이를 보면 정말 기가막히게 잘 짠 코드들이 많다. 내 코드를 참고정도만 하시길.

728x90
반응형