문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
제한사항
- array의 길이는 홀수입니다.
- 0 < array의 길이 < 100
- -1,000 < array의 원소 < 1,000
문제 풀이
array.sort((a,b) => a===b ? 0 : a>b? -1 : 1);
먼저 배열을 오름차순 정렬을 나타낸다. 이유는 중앙값을 구할려면 가운데 오는 것을 찾아야 하기 때문이다.
var middle_len = Math.floor((array.length) / 2);
여기서 조건이 배열의 길이가 홀수라고 했다. 그래서 Math.floor를 사용해서 몫만 가져오게 설정했다.
return array[middle_len];
배열의 가운데에 위치한 인덱스를 리턴해주었다.
코드
function solution(array) {
array.sort((a,b) => a===b ? 0 : a>b? -1 : 1);
var middle_len = Math.floor((array.length) / 2);
return array[middle_len];
}
느낀점
처음에 Math.floor((array.length) / 2)+1을 해줘서 정답이 틀렸다.
아!! 배열의 인덱스느 0부터 시작이여서 그렇구나 하고 바로 +1을 지워줬다. ㅎㅎㅋㅋ
'프로그래머스(JavaScript) > Lv0' 카테고리의 다른 글
[프로그래머스 : 코딩테스트 입문] Lv0. 짝수는 싫어요 (JavaScript) (0) | 2024.02.24 |
---|---|
[프로그래머스 : 코딩테스트 입문] Lv0. 문자 반복 출력하기(JavaScript) (0) | 2024.02.24 |
[프로그래머스 : 코딩테스트 입문] Lv0. 세균 증식도움말 (JavaScript) (0) | 2024.02.24 |
[프로그래머스 : 코딩테스트 입문] Lv0. 자릿수 더하기 (JavaScript) (0) | 2024.02.23 |
[프로그래머스 : 코딩테스트 입문] Lv0. 배열 두 배 만들기 (JavaScript) (0) | 2024.02.23 |