머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
class Solution {
public int solution(int price) {
int answer = 0;
return answer;
}
}
입출력 예 #1
입출력 예 #2
오류났던 방식
class Solution {
public int solution(int price) { // 구매한 옷 가격
int answer = 0; // 지불할 금액
// 10만원 이상 : 5% 할인
// 30만원 이상 : 10% 할인
// 50만원 이상 : 20% 할인
if (price < 100000) {
answer = price;
} else if (100000 <= price) {
//answer = price - 0.05 * price;
answer = (int)(0.95 * price);
} else if (300000 <= price) {
//answer = price - 0.1 * price;
answer = (int)(0.9 * price);
} else if (500000 <= price) {
//answer = price - 0.2 * price;
answer = (int)(0.8 * price);
}
return answer;
}
}
통과된 방식
class Solution {
public int solution(int price) { // 구매한 옷 가격
int answer = 0; // 지불할 금액
// 10만원 이상 : 5% 할인
// 30만원 이상 : 10% 할인
// 50만원 이상 : 20% 할인
if (500000 <= price) {
answer = (int)(0.8 * price);
} else if (300000 <= price) {
answer = (int)(0.9 * price);
} else if (100000 <= price) {
answer = (int)(0.95 * price);
} else {
answer = price;
}
return answer;
}
}
기존에 했던 방식과는 달리, 정상가(할인되지 않은 가격)를 마지막 else 로 리턴하도록 했다.
할인 된 가격 & 할인 되지 않는 정상가(마지막 else)를 모두 넣어줘야 한다.
price는 int 타입으로 처음에 선언됐고,
계산식에서 실수와 곱해지므로, 기존의 타입을 지켜주기 위해 int 로 자동 타입 변환을 해줬다. (int)