코딩테스트 연습/lv.0

중앙값 구하기

c29130811 2023. 4. 22. 00:31

문제 설명

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

 

제한 사항

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

 

입출력 예

array result
[1, 2, 7, 10, 11] 7
[9, -1, 0] 0

입출력 예 설명

입출력 예 #1 

-본문과 동일합니다.


입출력 예 #2

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

 

 

solution.js

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

1. sort 함수를 통해, 정렬을 진행한다. 

2. 그리고 Math.foor(array.length/2) 를 통해 array의 중간 값을 통해 배열 index로 넣어준다.

 

solution.py

def solution(array):
    return sorted(array)[len(array) // 2]

python 의 경우 동일하지만, // 를 할 경우에는 몫이 정수만 나온다고한다.

728x90

'코딩테스트 연습 > lv.0' 카테고리의 다른 글

피자 나눠 먹기 (1)  (0) 2023.04.27
짝수는 싫어요  (0) 2023.04.26
배열 두배 만들기  (0) 2023.04.19
숫자 비교하기  (0) 2023.04.14
머쓱이보다 키 큰 사람  (0) 2023.04.12