Algorithms/프로그래머스

[프로그래머스] '양꼬치' - Java

LEFT 2023. 2. 23. 14:57

<문제 제시>

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

 

<예시 입출력>


<문제 해결 과정>

이전의 피자 나눠 먹기 문제와 유사한 것 같았다. 간단한 연산으로 계산 후 서비스 값만 추가해주면 될 것 같았다.

먼저 양꼬치와 음료수 값을 구하고, 

int answer = 0;

int drink = 0; // 음료수 서비스 개수

// 양꼬치 값 합산
answer += n * 12000;
// 음료수 값 합산
answer += k * 2000;

만약 양꼬치가 10인분이 넘어가면, drink값을 조정해서 그만큼 n에서 차감한다.

if(n >= 10) {
    drink = n / 10;
    n -= drink * 10;
}

다시 answer값을 업데이트해주고, 그 값을 반환하면되는 문제이다.


<전체코드>

public class lamb_skewers {

	public static int solution(int n, int k) {
        int answer = 0;

        int drink = 0; // 음료수 서비스 개수
        
        // 양꼬치 값 합산
        answer += n * 12000;
        // 음료수 값 합산
        answer += k * 2000;
        
        if(n >= 10) {
            drink = n / 10;
            n -= drink * 10;
        }
        
        // 음료수 서비스 가격 차감
        answer -= drink * 2000;
        
        return answer;
    }
	
	public static void main(String[] args) {
		int n = 10;
		int k = 3;
		
		System.out.println(solution(n, k));
	}
}

유사한 문제가 많으나 이번 문제는 서비스의 기준이 명확해서 구하기 어렵지 않은 문제였다.


문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120830

 

프로그래머스

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

programmers.co.kr