문제 › 043

043. 나이 계산기

Easy 바이브코딩 MCPDateCalculator
문제 설명
[문제] 생년월일을 기준으로 만 나이와 다음 생일까지 남은 일수를 계산하는 MCP 서버를 구현한다. 현재 시각에 의존하면 채점 결과가 날마다 달라지므로, 기준 날짜 today 를 인자로 받아 항상 같은 입력에 같은 결과가 나오도록(결정론적) 한다. 만 나이란 태어난 해부터 지난 햇수이되, 올해 생일이 아직 안 지났으면 1을 빼는 방식이다. 예를 들어 2024-01-01 기준으로 생일이 12-31 인 사람은 올해 생일이 아직 안 지났으므로 나이가 1살 덜 든다. [구현할 함수] - calculate_age(birthdate: str, today: str) -> int today 기준 만 나이를 반환한다. birthdate, today 모두 "YYYY-MM-DD" 형식이다. - days_until_birthday(birthdate: str, today: str) -> int today 부터 다음 생일까지 남은 일수를 반환한다. today 가 바로 생일이면 0, 올해 생일이 이미 지났으면 내년 생일까지의 일수를 반환한다. [입력·상태] 별도 상태는 없다. 날짜는 모두 "YYYY-MM-DD" 형식 문자열로 주어진다. today 인자 덕분에 현재 시각에 의존하지 않는다. [제약] - 날짜 형식은 "YYYY-MM-DD" 로 고정. - 윤년(2월 29일 등)을 올바르게 다루어야 한다. - 만 나이 계산 시 "올해 생일이 지났는가"를 월·일까지 비교한다. [힌트] 날짜 차이 계산은 언어의 날짜 자료형을 사용하면 편하다 (Python datetime.date / C++ <chrono> 또는 직접 일수 계산 / Java java.time.LocalDate). [예시] calculate_age("1990-01-01", "2024-05-15") -> 34 days_until_birthday("1990-01-01", "2024-05-15") -> 231 # 5/15 부터 다음 해 1/1 까지 (2024는 윤년) calculate_age("2000-12-31", "2024-01-01") -> 23 # 올해 생일(12/31) 아직 안 지남
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.