Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 일지

507. Perfect Number (완벽한 수) 본문

코딩 테스트/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를 반환해주었습니다.