CODING TEST/COS Pro

[2급] 쇼핑몰 등급별 할인 금액구하기 - JAVA

iamyuunzo 2025. 9. 8. 21:28

1. 문제 설명 및 정리

쇼핑몰에서 회원 등급에 따라 할인율이 달라진다.

  • "S" (실버) → 5% 할인
  • "G" (골드) → 10% 할인
  • "V" (VIP) → 15% 할인

입력으로 상품 가격(price)과 회원 등급(grade)이 주어졌을 때, 해당 할인율을 적용한 최종 금액을 계산해서 반환.

예시 :
price = 2500, grade = "V" → 2500 - (2500 × 15%) = 2125
price = 96900, grade = "S" → 96900 - (96900 × 5%) = 92055

 

 

2. 문제 유형

  • 구현(Implementation)
  • 단순 조건 분기(if/switch)와 할인율 계산 문제

 

3. 정답 코드 (JAVA)

import java.util.*;

class Main {
    public int solution(int price, String grade) {
        int discount = 0; // 할인율 저장할 변수 (%)

        // 등급에 따라 할인율 결정
        switch (grade) {
            case "S": // 실버
                discount = 5;
                break;
            case "G": // 골드
                discount = 10;
                break;
            case "V": // VIP
                discount = 15;
                break;
        }

        // 할인된 금액 계산
        int answer = price - (price * discount / 100);
        return answer;
    }

    // 테스트 코드
    public static void main(String[] args) {
        Main sol = new Main();

        int price1 = 2500;
        String grade1 = "V";
        int ret1 = sol.solution(price1, grade1);
        System.out.println("solution 메소드의 반환 값은 " + ret1 + " 입니다."); // 2125

        int price2 = 96900;
        String grade2 = "S";
        int ret2 = sol.solution(price2, grade2);
        System.out.println("solution 메소드의 반환 값은 " + ret2 + " 입니다."); // 92055
    }
}

 

4. 정답 코드 풀이

  1. 할인율 정하기
    • switch문으로 grade가 "S", "G", "V" 중 무엇인지 확인
    • 각각 5, 10, 15로 discount 변수에 저장
  2. 할인된 가격 계산
    • 할인 금액 = price * discount / 100
    • 최종 금액 = price - 할인 금액
    • 정수 계산이므로 자동으로 소수점은 버려짐 (문제에서 자연수라 했으니까 OK)
  3. 결과 반환
    • 최종 할인 금액을 answer에 담아 반환