문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 `array`가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
제한 사항
`array`의 길이는 홀수입니다.
0 < `array`의 길이 < 100
-1,000 < `array`의 원소 < 1,000
입출력 예
array | result |
[1, 2, 7, 10, 11] | 7 |
[9, -1, 0] | 0 |
`입출력 예 #1` 본문과 동일합니다.
`입출력 예 #2` 9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.
나의 풀이
import java.util.Arrays;
class Solution {
public int solution(int[] array) {
// 배열 길이 검사
if (!(0 < array.length && array.length < 100)) return 0;
// 배열 원소의 범위 검사
for (int i = 0; i < array.length; i++) {
if (!(array[i] > -1000 && array[i] < 1000)) {
return 0;
}
}
// 배열 길이가 홀수인지 확인
if (array.length % 2 == 0) {
return 0;
}
// 배열을 오름차순으로 정렬
Arrays.sort(array);
// 중앙값 찾기
int index = array.length / 2;
return array[index];
}
public static void main(String[] args) {
Solution st = new Solution();
int[] test1 = {1, 2, 7, 10, 11};
System.out.println(st.solution(test1));
int[] test2 = {9, -1, 0};
System.out.println(st.solution(test2));
}
}
다른 풀이
'👨💻 Coding Test' 카테고리의 다른 글
[Programmers/Java/Lv.0] 14.짝수는 싫어요 (0) | 2024.09.20 |
---|---|
[Programmers/Java/Lv.0] 13.최빈값 구하기 (0) | 2024.09.20 |
[Programmers/Java/Lv.0] 11.나머지 구하기 (0) | 2024.09.15 |
[Programmers/Java/Lv.0] 10.배열 두 배 만들기 (0) | 2024.09.14 |
[Programmers/Java/Lv.0] 9.분수의 덧셈 (0) | 2024.09.14 |