문제 › 065

065. 학생 성적 관리

Medium 바이브코딩 MCPEducationCRUD
문제 설명
[문제] 학생 성적 관리 MCP 서버를 구현하시오. 학생별로 여러 점수를 기록하고, 평균을 내고, 평균이 높은 순으로 순위를 매긴다. 한 학생은 점수를 여러 개 가질 수 있다. [구현할 함수] - add_student(name: str) -> int 이름 name인 학생을 등록한다(점수는 아직 없음). 등록 후 전체 학생 수를 반환한다. - add_score(name: str, score: float) -> bool 등록된 학생 name에게 점수 하나를 추가한다. 등록된 학생이면 True, 등록되지 않은 학생이면 False를 반환한다. - get_average(name: str) -> number 학생 name의 점수 평균을 반환한다. 학생이 없거나 점수가 하나도 없으면 -1을 반환한다. - get_ranking() -> array<string> 학생들을 평균 점수 내림차순으로 정렬한 이름 배열을 반환한다. [입력·상태] 서버는 학생 이름 -> 점수 목록 형태의 키-값 저장소를 상태로 유지한다. 초기 상태는 학생이 없는 빈 상태이다. [제약] - 한 학생은 점수를 여러 개 가질 수 있고, 평균은 그 점수들의 산술평균이다. - 등록되지 않은 학생에게 add_score는 False이다. - 없는 학생 또는 점수 없는 학생의 평균은 -1이다. - 학생이 없으면 ranking은 빈 배열 [] 이다. [예시] add_student("홍길동") -> 1 add_student("홍길동"); add_score("홍길동", 85) -> True; get_average("홍길동") -> 85 add_student("홍길동"); add_score("홍길동", 80); add_score("홍길동", 90); get_average("홍길동") -> 85 add_student("홍길동"); add_score("홍길동", 80); get_ranking() -> ["홍길동"] add_score("없음", 85) -> False # 미등록 학생 (경계) get_average("없음") -> -1 # 없는 학생 (경계) get_ranking() -> [] # 빈 상태 (경계)
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.