문제 설명
머쓱이네 옷가게는 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 합니다.
풀이
1. 최종 계산된 금액을 저장하기 위한 answer 변수를 선언해줍니다.
(메서드 내 어디서든 접근 가능하도록 블록 외부에서 선언)
2. 각 조건에 따라 if 조건문을 작성해줍니다.
3. price * 0.8은 실수(double)로 계산되므로 정수형으로 변환하여 반환해줍니다.
4. 모든 조건을 적용한 후 최종금액 answer을 반환해줍니다.
class Solution {
public int solution(int price) {
int answer; // answer 변수는 블록 외부에서 선언
if (price >= 500000) {
answer = (int) (price * 0.8); // 20% 할인
} else if (price >= 300000) {
answer = (int) (price * 0.9); // 10% 할인
} else if (price >= 100000) {
answer = (int) (price * 0.95); // 5% 할인
} else {
answer = price; // 할인 없음
}
return answer;
}
}
'CodingTest > Programmers' 카테고리의 다른 글
| 아이스 아메리카노 [프로그래머스 코딩테스트 입문] (0) | 2025.01.13 |
|---|---|
| 나이 출력 [프로그래머스 코딩테스트 입문] (1) | 2025.01.11 |
| 배열의 평균 [프로그래머스 코딩테스트 입문] (0) | 2025.01.10 |
| 피자 나눠 먹기(3) [프로그래머스 코딩테스트 입문] (1) | 2025.01.09 |
| 피자 나눠 먹기(2) [프로그래머스 코딩테스트 입문] (0) | 2025.01.08 |