옷가게 할인 받기
문제 설명
머쓱이네 옷가게는 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 합니다.
코드
class Solution {
public int solution(int price) {
int answer = 0;
return answer;
}
}
풀이
class Solution {
public int solution(int price) {
// 구매 금액이 50만 원 이상
if (price >= 500000) {
// 20% 할인을 적용
price *= 0.8;
}
// 구매 금액이 30만 원 이상이고 50만 원 미만
else if (price >= 300000) {
// 10% 할인을 적용
price *= 0.9;
}
// 구매 금액이 10만 원 이상이고 30만 원 미만
else if (price >= 100000) {
// 5% 할인을 적용
price *= 0.95;
}
// 최종적으로 할인된 금액을 반환
return price;
}
}
if - else if 문 다음 else문을 사용하지 않아도 됌
else문은 모든 이전 조건이 거짓일 때 실행되는 '기본', '마지막' 경우 사용
모든 경우의 수가 if 문, else if 문 조건에 의해 이미 다뤄지는 경우 사용하지 않아도 됌
풀이 2
class Solution {
public int solution(int price) {
int answer = 0;
if(price>=500000) return (int)(price*0.8); // 간결화
if(price>=300000) return (int)(price*0.9);
if(price>=100000) return (int)(price*0.95);
return price;
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/120818