문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 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 |
import java.util.Arrays;
class Solution {
public int solution(int[] array) {
int answer = 0;
Arrays.sort(array);
answer = array[array.length/2];
return answer;
}
}
이번 문제 역시 간단한 편입니다. 순서가 뒤죽박죽인 배열을 .sort()로 정렬하고, 배열의 길이를 절반으로 나눔으로써 배열 중앙값의 인덱스를 구했습니다. 대부분 비슷하게 푼 듯 합니다. 다만, 시프트 연산으로 나누기 2를 하신 분이 있던데 보면서 조금 신기했습니다. 수학적인 센스가 엿보였습니다.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 짝수는 싫어요(Java) (1) | 2023.03.23 |
---|---|
[프로그래머스 코딩테스트] 최빈값 구하기(Java) (0) | 2023.03.23 |
[프로그래머스 코딩테스트] 나머지 구하기(Java) (0) | 2023.03.22 |
[프로그래머스 코딩테스트] 배열 두 배 만들기(Java) (0) | 2023.03.22 |
[프로그래머스 코딩테스트] 분수의 덧셈(Java) (0) | 2023.03.22 |