프로그래머스 - 중앙값 구하기

Lellow_Mellow·2023년 1월 14일
0
post-thumbnail

⭐ Lv. 0 - 중앙값 구하기

✅ 문제 설명

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

✅ 제한사항

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

✅ 입출력 예

arrayresult
[1, 2, 7, 10, 11]7
[9, -1, 0]0

입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

  • 9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.

✅ 풀이 코드 + 설명

처음에는 단순히 sort method를 활용하여 풀이하면 가능할 것이라고 생각했다. 하지만, 기본적인 sort의 경우, 각 자리를 ASCII 순으로 판단하여, 문제의 의도와는 다르게 숫자 기준으로 오름차순 정렬이 되지 않는다.

따라서 compare 함수를 추가해준다. compare 함수는 아래와 같이 작성한다.

// 오름차순
array.sort(function(a, b) { return a - b; });

// 내림차순
array.sort(function(a, b) { return b - a; });

아래 코드에서는 이를 arrow function으로 작성하였다.

function solution(array) {
    return array.sort((a, b) => a - b)[Math.floor(array.length / 2)];
}

profile
잔잔한 물결에서 파도로, 도약을 위한 도전. 함께하는 성장

0개의 댓글