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