프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 옷가게 할인 받기(Java)

Sigfriede 2023. 3. 24. 04:36

  문제 설명

  머쓱이네 옷가게는 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을 나누어주는 식으로 진행했습니다. 대체로 비슷한 풀이이나, 여기에 형변환을 추가한 풀이가 많았습니다.