[Programmers] 중앙값 구하기 문제
Featured image of post [Programmers] 중앙값 구하기 문제

[Programmers] 중앙값 구하기 문제

프로그래머스 알고리즘

문제

image

풀이

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/*
  [programmers / 중앙값 구하기]

  입출력 예
        array	        result
  [1, 2, 7, 10, 11]	  7
  [9, -1, 0]	          0
*/

function solution(array) {
  let sort_array = array.sort((a, b) => {
    if (a > b) return 1;
    if (a === b) return 0;
    if (a < b) return -1;
  });
  let half_array = parseInt(sort_array.length / 2);

  let answer = sort_array[half_array];
  return answer;
}

그냥 sort로 정렬을 하게되면 유니코드 순서에 따라서 값을 정렬하게 되므로 만약, [1, 2, 7, 10, 11]을 sort() 하게되면 [1, 10, 11, 2, 7]로 정렬이 됩니다.

그래서 우리는 파라미터를 사용해서 a, b 두 개의 파라미터를 입력받고 a > b이면 1을, a === b면 0을, a > b이면 -1을 리턴해서 숫자 크기대로 정렬하게 해주었습니다.

image

완료 ✅

Built with Hugo
Theme Stack designed by Jimmy