문제
중앙값은 어떤 주어진 값들의 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 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 |