CodingTest/Programmers

옷가게 할인 받기 [프로그래머스 코딩테스트 입문]

Hojung7 2025. 1. 11. 19:17

문제 설명

 

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.


 

 제한 사항

  • 10 ≤ price ≤ 1,000,000
  • price는 10원 단위로(1의 자리가 0) 주어집니다.
  • 소수점 이하를 버린 정수를 return합니다.


 입출력 예

price result
150,000  142,500
580,000  464,000

 

 

 

 입출력 예 설명

 

입출력 예 #1
150,000원에서 5%를 할인한 142,500원을 return 합니다.


입출력 예 #2
580,000원에서 20%를 할인한 464,000원을 return 합니다.

 

 

 

 

 풀이

 

1. 최종 계산된 금액을 저장하기 위한 answer 변수를 선언해줍니다.

(메서드 내 어디서든 접근 가능하도록 블록 외부에서 선언)

 

2. 각 조건에 따라 if 조건문을 작성해줍니다. 

 

3. price * 0.8은 실수(double)로 계산되므로 정수형으로 변환하여 반환해줍니다.

 

4. 모든 조건을 적용한 후 최종금액 answer을 반환해줍니다.

 

class Solution {
    public int solution(int price) {
        int answer; // answer 변수는 블록 외부에서 선언
        if (price >= 500000) {
            answer = (int) (price * 0.8); // 20% 할인
        } else if (price >= 300000) {
            answer = (int) (price * 0.9); // 10% 할인
        } else if (price >= 100000) {
            answer = (int) (price * 0.95); // 5% 할인
        } else {
            answer = price; // 할인 없음
        }
        return answer;
    }
}