새소식

Programmers Coding Test/Java

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

  • -

 

 

양꼬치

 

 


https://school.programmers.co.kr/learn/courses/30/lessons/120830

 

프로그래머스

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

programmers.co.kr

 

 

 

1)  문제

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

 

 

 

2)  예시

 

 

Result Table
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원입니다.

 

 

 

 

 

3)  풀이

 

 

1. 클래스 선언을 해줍니다

● class Solution {

클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.

 

 

 

 

2. 메소드 선언을 해줍니다.

● public int solution (int n, int k){

정수 n 및 k를 매개변수로 사용하는 solution 메소드를 선언해줍니다.

메소드의 결과값인 solution은 정수이 나오므로, 데이터 타입을 int로 해줍니다.

 

 

 

 

3. 정수 n 및 k에 대한 제한사항을 확인하고, 만족하지 않는다면 예외처리합니다.

     if(0>= n || n >= 1000 ){
            throw new IllegalArgumentException("n은 0 초과 1000 미만이어야합니다.");
        }
        
        if(n/10 > k || k >= 1000){
            throw new IllegalArgumentException("k는 n/10 이상 1000 미만이어야합니다.");
        }

 

 

 

 

4. 총 지불해야하는 금액을 totalPayment로 선언하고 초기화해줍니다.

양꼬치 n 인분에 대한 금액 : 12000 * n

음료수 k개에 대한 금액 (양꼬치 10인분당 1개 서비스) : 2000 * (k - n/10)

여기서 서비스로 받은 음료수는 모두 마시게되니 음수가 될 일은 없으므로, 따로 신경쓰지 않아도됩니다.

 

●      int totalPayment = 0;
        totalPayment = (12000 * n) + (2000 * (k - n/10));
        
        return totalPayment;
    }
}

 

 

 

 

4)  코드

 

class Solution {
    public int solution (int n, int k){
        if(0>= n || n >= 1000 ){
            throw new IllegalArgumentException("n은 0 초과 1000 미만이어야합니다.");
        }
        
        if(n/10 > k || k >= 1000){
            throw new IllegalArgumentException("k는 n/10 이상 1000 미만이어야합니다.");
        }
        
        int totalPayment = 0;
        totalPayment = (12000 * n) + (2000 * (k - n/10));
        
        return totalPayment;
    }
}

 

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.