프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 중앙값 구하기(Java)

Sigfriede 2023. 3. 22. 02:38

  문제 설명

  중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 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를 하신 분이 있던데 보면서 조금 신기했습니다. 수학적인 센스가 엿보였습니다.