프로그래머스 - 콜라 문제

박철현·2023년 8월 23일

프로그래머스

목록 보기
45/80

프로그래머스 - 콜라 문제

class Solution {
    public int solution(int a, int b, int n) {
        // n개 병에서, 처음에 a개를 가져다 준다.
        // 그러면 b병 만큼을 다시 줄꺼고(마시면 빈병 되니깐)
        // 최종적으로는 b병 만큼 교환해서 먹은 셈이 됨
       int count = 0;
        while(n-a >=0) {
            n = n-a;
            n = n+b;
            count +=b;
        }

        return count;
    }
}
  • b를 1병으로 만들라고 a를 b로 나눴었는데, 뭔가 배수가 아니길래 실패를 했다.
  • 다른 방법을 고민하다 보니, 직관적 조건으로 일단 교환하면 먹고 그게 다시 공병이니까, n에 더해주고 다시 바꾸러간다.
  • 한번 바꿀때 마다 b병씩 주니까 최종 공병으로 바꿔 먹은거에 b를 더해준다.
profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글