코딩테스트연습/[프로그래머스] Java

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

_꼬마돌 2023. 7. 20. 19:39
반응형

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

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120818

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

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

 

풀이

if문의 조건이 >=(이상) 조건이므로 가장 큰 값을 먼저 걸러주고 내려와야 한다. 반대로 <=(이하) 조건일 경우엔 작은 값을 먼저 거르고 내려와야 한다. 
0.8, 0.9, 0.95가 double형이기 때문에 int형으로 변환해야 한다.

 

소스코드

class Solution {
    public int solution(int price) {
        int answer = 0;
        
        if (price >= 500000) {
            answer = (int) (price * 0.8);
        } else if (price >= 300000) {
            answer = (int) (price * 0.9);
        } else if (price >= 100000) {
            answer = (int) (price * 0.95);
        } else {
            answer = price;
        }
        
        return answer;
    }
}

 

다른 사람의 풀이

오,,간결하다,,

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

        if(price>=500000) return (int)(price*0.8);
        if(price>=300000) return (int)(price*0.9);
        if(price>=100000) return (int)(price*0.95);

        return price;
    }
}

 

반응형