본문 바로가기
코딩테스트

프로그래머스 Javascript 코딩 테스트 Lv.0 중앙값 구하기

by 곰인간 2023. 5. 30.

프로그래머스 코딩테스트 입문 Lv.0 중앙값 구하기 문제이다.

언어는 자바스크립트로 진행했다.

중앙값 구하기 문제

위 문제를 보면, 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값이다.

ex. 1, 2, 7, 10, 11이면 중앙값은  7이다.

array는 정수 배열이며, 제한사항은 위에 기재되어있다.

const solution = array => array.sort((a, b) => a - b)[Math.floor(array.length / 2)]

이렇게 바로 화살표 함수를 이용해서 변수 할당 없이 array 배열을 sort메서드를 이용해서 오름차순으로 정리하고,

배열의 길이를 반으로 나누고 Math.floor를 이용해서 소수값은 버리고 정수값만 가져온다.

array = [1, 2, 7, 10, 11] 일 때,

array.length / 2를 하면 배열의 길이가 5일 때, 2.5가 되고 Math.floor를 사용해서 2만 가져오는 것이다.

array 배열의 가운데는 7이고, array 배열의 2번째 요소는 7이다.

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

또는 이렇게 general function에 array가 매개변수로 들어가 있고, 

center 변수를 선언해서 Math.floor(array.length / 2)를 할당한다.

그리고 list 변수에 array를 오름차순으로 정리하는 sort메서드를 사용해서

list[center]를 반환하는 코드이다.

댓글