문제

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

답안

def solution(array):
    array.sort()
    if len(array) % 2 == 0:
        return (array[len(array)//2-1] + array[len(array)//2]) / 2
    else:
        return array[len(array)//2]

입력 받은 배열을 오름차순으로 정리합니다. 배열의 길이가 홀수일 경우 단순히 중앙에 있는 값을 반환해주면 됩니다. 하지만 짝수일 경우는 중앙에 있는 값이 존재하지 않습니다. 이럴 경우 가장 중앙에 가까운 두 값의 평균을 반환해줘야 합니다. 

해당 문제의 경우 샘플의 배열들의 길이가 모두 홀수라 짝수 길이의 배열을 테스트 케이스로 추가해 코드를 돌려보았습니다.

'Coding Test' 카테고리의 다른 글

[python] 피자 나눠 먹기(2)  (0) 2023.03.02
[python] 최빈값 구하기  (0) 2023.02.24
[python] 분수의 덧셈  (0) 2023.02.22
[python] Class  (0) 2023.02.15
[python] 함수  (0) 2023.01.31

+ Recent posts