알고리즘 공부⛏️

💡(Java)중앙값 구하기

十月 2024. 11. 11. 19:13
  • 문제 설명

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

  • 제한사항

array의 길이는 홀수입니다.
0 < array의 길이 < 100
-1,000 < array의 원소 < 1,000

  • 입출력 예

 

  • 입출력 예 설명

입출력 예 #1
본문과 동일합니다.
입출력 예 #2
9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.


🤔

import java.util.Arrays;

class Solution {
    public int solution(int[] array) {

        Arrays.sort(array);
        
        int median = array.length / 2;
        
        return array[median];
    }
}
  • 자바 Arrays 클래스에 있는 sort() 활용 (오름차순 정렬)
  • 매개변수로 전달된 배열 array의 길이는 홀수이다.
    그러므로 2로 나눈 값이 중앙에 위치하는 값이 된다.
    ex ▷ 5 / 2 = 2
    └ 배열의 인덱스는 0부터 시작하니 0, 1, [2], 3, 4
  • 만약 짝수일 경우 홀수와 달리 중앙에 위치하는 값을 구할 수 없어
    중앙에 위치한 두 개 값의 평균을 구해야 한다.
    ex ▷배열 길이 4라면?
  • └ 1, [3], [5], 6 → (3 + 5) / 2 = 4 → 중앙값은 4 (배열 내 원소는 아님)