middlemoon

[입문]자바 - 양꼬치. 본문

Algorithm/프로그래머스 Java 입문

[입문]자바 - 양꼬치.

중대경 2025. 8. 19. 22:29

 

 

 

 

답안)

 

class Solution {
    public int solution(int n, int k) {
    /*return값 선언*/
    int answer = 0;
    /*양꼬치랑 음료수*/
    int yanggochi = 12000;
    int drink = 2000;
    int drinkCount = 0;
    /*10인분을 시키면 음료수가 하나 서비스*/
    /*n만큼 돌아야한다. 양꼬치 개수만큼 돌아야하니까 i */
    /*음료수만큼도 돌아야하니까 for문에 k도 추가해줘야함.*/    
        for(int i = 0; i < n; i++){
            for(int j = 0; j < k; j++){
                if( drinkCount % 10 == 0 ){
                    drinkCount++;
                }
                answer = (n * yanggochi) + ((k-(n/10)) * drink);
            }
        }
        return answer;
    }
 
}

 

 

 

answer 에는 양꼬치 개수 * 1인분 가격 + 음료수 먹는 개수(k), 

그리고 10인분을 먹으면 음료수가 하나가 서비스이니, 음료수를 나누는게 아닌 양꼬치 개수를 몫으로 나오는 식을 만들어준다.

 

여기에서 ((k-(n/10))은 만약 k=3이고 10인분을 먹으면 ((3-(10/10)) = 3-1 = 2가 될것이고,

이거를 뒤의 2000과 곱하게 되면 4000원이 된다. 

그렇게 입출력 예 #1를 대입해보면 원하는 결과값이 나오는 것으로 알 수 있다.

 

 

 

다른 방법)

 

class Solution {
    public int solution(int n, int k) {
        int yanggochi = 12000;
        int drink = 2000;
        
        // 양꼬치 가격
        int yangPrice = n * yanggochi;
        // 서비스 음료 개수
        int freeDrink = n / 10;
        // 음료 가격 (서비스 개수만큼 빼줌)
        int drinkPrice = (k - freeDrink) * drink;
        
        // 최종 금액
        int answer = yangPrice + drinkPrice;
        return answer;
    }
}
Comments