프로그래머스 코딩테스트(옷가게 할인 받기, 삼각형의 완성조건 (1), 중앙값 구하기)
<옷가게 할인 받기>
문제 설명
머쓱이네 옷가게는 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];
}
}