코딩 테스트/LeetCode
507. Perfect Number (완벽한 수)
포카리tea
2023. 10. 26. 15:21
완벽한 수는 해당 숫자를 제외한 약수의 합과 같은 정수입니다.정수가 주어졌을 때 완벽한 수라면 true를 반환하고 그렇지 않으면 false를 반환합니다.
예시 1:
입력: num = 28
출력: true
설명: 28 = 1 + 2 + 4 + 7 + 14
1, 2, 4, 7 및 14는 모두 28의 약수입니다.
예시 2:
입력: num = 7
출력: false
조건:
- 1 <= num <= 10^8
정답:
public class Solution {
public bool CheckPerfectNumber(int num) {
int result = 0;
for (int i = 1; i <= num / 2; i++)
{
if (num % i == 0)
{
result += i;
}
}
return result == num;
}
}
해설: num의 약수를 구하기 위해서 num에서 2를 나눈 값까지 반복을 시작하고 모든 약수의 합을 구한 후 num과 같다면 true 그렇지 않으면 false를 반환해주었습니다.