문제 설명
머쓱이네 옷가게는 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 |
class Solution {
public int solution(int price) {
int answer = 0;
int sale = 0;
if (500000 <= price) {
sale = price * 80;
} else if (300000 <= price && price < 500000) {
sale = price * 90;
} else if (100000 <= price && price < 300000) {
sale = price * 95;
} else {
return price;
}
return answer = (sale / 100);
}
}
저는 간단한 if문으로 해결했습니다. 저는 소수점 계산을 선호하지 않아서 형변환 등의 식을 거치지 않고 할인율 * 100을 한 값을 곱해준 뒤, return되는 값에서 다시 100을 나누어주는 식으로 진행했습니다. 대체로 비슷한 풀이이나, 여기에 형변환을 추가한 풀이가 많았습니다.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 나이 출력(Java) (0) | 2023.03.24 |
---|---|
[프로그래머스 코딩테스트] 아이스 아메리카노(Java) (0) | 2023.03.24 |
[프로그래머스 코딩테스트] 배열의 평균값(Java) (0) | 2023.03.24 |
[프로그래머스 코딩테스트] 피자 나눠먹기(3)(Java) (0) | 2023.03.23 |
[프로그래머스 코딩테스트] 피자 나눠 먹기(2)(Java) (0) | 2023.03.23 |