본문 바로가기

컴퓨터/프로그래머스

프로그래머스 - 132267번: 콜라 문제 [Java]

문제: https://school.programmers.co.kr/learn/courses/30/lessons/132267

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1. 코드

class Solution {
    public int solution(int a, int b, int n) {
        int answer = 0;
        while(n / a > 0) {
            answer += n / a * b;
            n = n / a * b + n % a;
        }
        return answer;
    }
}

2. 설명

n / a의 값이 1 이상이여야 가게에 콜라를 받을 수 있기 때문에 반복문 조건을 n / a > 0으로 설정하였으며 a병 당 b병을 받을 수 있기에 추가로 얻는 콜라의 수는 n / a * b 병입니다. 가게에 받은 콜라의 수와 a 개보다 부족하여 가게에 주지 못한 콜라의 수를 합쳐서 n에 저장하여 반복해주면 문제는 해결됩니다.

3. 정리

  1.  공식 찾기
출처: 프로그래머스 코딩 테스트 연습, 
https://school.programmers.co.kr/learn/challenges