문제 › 057

057. 약수 구하기

Easy 바이브코딩 MCPMathUtility
문제 설명
[문제] 주어진 수의 모든 약수를 구하고, 그 수가 완전수인지 판별하는 MCP 서버를 구현한다. 약수란 어떤 수를 나누어떨어지게 하는 정수다(예: 10의 약수는 1, 2, 5, 10). 완전수(perfect number)란 자기 자신을 제외한 약수들의 합이 자기 자신과 같은 수다(예: 6의 자신 제외 약수는 1, 2, 3이고 1+2+3=6이므로 완전수, 8은 1+2+4=7로 8과 달라 완전수가 아님). [구현할 함수] - get_divisors(number: int) -> List[int] 양의 정수의 모든 약수를 오름차순 정수 배열로 돌려준다(1과 자기 자신 포함). - is_perfect_number(number: int) -> bool 자기 자신을 제외한 약수의 합이 자기 자신과 같으면 참, 아니면 거짓을 돌려준다. [입력·상태] 별도로 유지하는 상태는 없다. number는 양의 정수다. [제약] - get_divisors의 반환은 정수 배열, is_perfect_number의 반환은 불리언이다. [예시] get_divisors(10) -> [1, 2, 5, 10] is_perfect_number(6) -> True # 6 = 1+2+3 is_perfect_number(8) -> False # 1+2+4 = 7 != 8
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.