옷가게 할인 받기 Lv. 0

박영준·2023년 5월 10일
0

코딩테스트

목록 보기
73/300

문제 설명

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

class Solution {
    public int solution(int price) {
        int answer = 0;
        return answer;
    }
}

제한 사항

  • 10 ≤ price ≤ 1,000,000
    • price는 10원 단위로(1의 자리가 0) 주어집니다.
  • 소수점 이하를 버린 정수를 return합니다.

입출력 예

입출력 예 설명

  • 입출력 예 #1

    • 150,000원에서 5%를 할인한 142,500원을 return 합니다.
  • 입출력 예 #2

    • 580,000원에서 20%를 할인한 464,000원을 return 합니다.

해결법

방법 1

오류났던 방식

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)

    • (int)(0.8 * price) 처럼, 소수점을 계산한 식 전체에 괄호()가 필요.

옷가게 할인 받기

profile
개발자로 거듭나기!

0개의 댓글