코딩테스트

프로그래머스 코딩테스트(옷가게 할인 받기, 삼각형의 완성조건 (1), 중앙값 구하기)

SOME코딩 2023. 4. 23. 12:31

<옷가게 할인 받기>

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

 

풀이

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;
    }
}

 

<삼각형의 완성조건 (1)>

문제 설명
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

 

풀이

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        int sum = 0;
        for(int i:sides){
            if(i>answer)
                answer = i;
            sum+=i;
        }
        answer= answer<(sum-answer)?1:2;
        return answer;
    }
}

 

다른 사람 풀이

import java.util.Arrays;
class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        Arrays.sort(sides);
        return sides[2] >= sides[0]+sides[1] ? 2 : 1;
    }
}

 

<중앙값 구하기>

문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

 

풀이

import java.util.Arrays;

class Solution {
    public int solution(int[] array) {
        Arrays.sort(array);
        return array[(array.length-1)/2];
    }
}