CodingTest/Programmers

양꼬치 [프로그래머스 코딩테스트 입문]

Hojung7 2025. 1. 19. 23:05

문제 설명

 

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.


 제한 사항

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • 서비스로 받은 음료수는 모두 마십니다.

 

 

 입출력 예

n k result
10 3 124,000
64 6 768,000

 

 

 

 입출력 예 설명

 

입출력 예 #1
10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다.


입출력 예 #2
64인분을 시켜 서비스로 음료수를 6개 받아 총 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000원입니다.

 

 

 

 풀이

 

1. 최종 비용을 저장할 변수 answer을 설정해줍니다.

 

2. freeDrink : 무료 음료수 계산 / paidDrink : 지불해야할 음료수 개수 계산 각각을 설정해줍니다.

 

3. 음료수 개수가 음수가 되는 것을 방지하기 위해 if문을 써줍니다.

 

4. n * 12000 + paidDrinks * 2000 총 비용을 계산해준 후 결과를 반환해줍니다.

class Solution {
    public int solution(int n, int k) {
        int answer = 0;
        
        // 서비스 음료수를 제외한 개수 계산
        int freeDrink = n / 10; // n인분 당 10인분마다 서비스 음료수 1개
        int paidDrink = k - freeDrinks; // 실제 지불해야 하는 음료수 개수
        // 지불해야 할 음료수 개수가 0일 경우
        if (paidDrink < 0) {
            paidDrink = 0; 
        }
        
        // 총 비용 계산
        answer = n * 12000 + paidDrink * 2000;
        
        return answer;
    }
}