15. 통계 분석기
Medium
바이브코딩
문제 설명
[문제]
숫자 목록의 기초 통계를 계산하는 MCP(Model Context Protocol, AI가 호출하는 함수 모음) 서버를 구현하세요. 평균, 중앙값, 최댓값, 최솟값, 표준편차를 한 번에 구해 정해진 순서의 목록으로 반환합니다.
중앙값이란 값을 정렬했을 때 한가운데 오는 값(개수가 짝수면 가운데 두 값의 평균)입니다. 표준편차는 값들이 평균에서 얼마나 흩어져 있는지를 나타내는 지표입니다.
[구현할 함수]
- analyze_stats(numbers: List[float]) -> List[float]
숫자 목록을 받아 [평균, 중앙값, 최댓값, 최솟값, 표준편차] 순서의 5원소 목록을 반환한다. 빈 목록이 들어오면 [0, 0, 0, 0, 0]을 반환한다.
[입력·상태]
- numbers: 실수(또는 정수) 목록.
- 반환 위치: [0]=평균(mean), [1]=중앙값(median), [2]=최댓값(max), [3]=최솟값(min), [4]=표준편차(std).
[제약]
- 표준편차는 모표준편차(population standard deviation)로 계산한다. 즉 편차 제곱의 평균을 n(데이터 개수)으로 나눈 분산의 제곱근이다(n-1이 아님).
[힌트] Python: statistics.pstdev / C++·Java: sqrt(sum((x-mean)^2)/n) 직접 계산.
- 빈 목록은 모두 0인 5원소 목록을 반환한다.
[예시]
analyze_stats([1, 2, 3, 4, 5]) -> [3.0, 3.0, 5, 1, 1.4142135623730951]
analyze_stats([10, 20, 30, 40]) -> [25.0, 25.0, 40, 10, 11.180339887498949]
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.