최대 1 분 소요

1. 문제

507. Perfect Number

Easy


A perfect number is a positive integer that is equal to the sum of its positive divisors, excluding the number itself. A divisor of an integer x is an integer that can divide x evenly.

Given an integer n, return true if n is a perfect number, otherwise return false.

 

Example 1:

Input: num = 28
Output: true
Explanation: 28 = 1 + 2 + 4 + 7 + 14
1, 2, 4, 7, and 14 are all divisors of 28.

Example 2:

Input: num = 7
Output: false

 

Constraints:

  • 1 <= num <= 108

출처: Leetcode, https://leetcode.com/

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 입력값이 1보다 작은 경우 False를 반환한다.
  2. 아니라면 약수를 구해 결과값에 더해준다.
    • 이때 결과값은 1을 포함한다.
  3. 이후 결과값과 입력값이 같은 여부를 출력한다.