본문 바로가기
iOS/코딩테스트 연습문제

6, 약수의 합

by 황민우 2022. 5. 12.

문제 설명

- 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

 

 

제한 사항

- n은 0 이상 3000이하인 정수입니다.


내가 쓴 답

 

해설

- sum이라는 변수를 생성하고 0으로 초기화

- 반복문을 통해 sum 변수에 입력값의 약수를 더하고 출력

func solution(_ n:Int) -> Int {
    var sum = 0
    guard n > 0 else {return sum}
    for i in 1...n {
        if n % i == 0{
            sum = sum + i
        }
    }
    return sum
}

 

다른 사람들이 쓴 답

func solution(_ n:Int) -> Int {   
    guard n != 0 else {
        return 0
    }
    return Array(1...n).filter{n % $0 == 0}.reduce(0, +)
}

'iOS > 코딩테스트 연습문제' 카테고리의 다른 글

8, 행렬의 덧셈  (0) 2022.05.14
7, 두 정수 사이의 합  (0) 2022.05.13
5, 제일 작은 수 제거하기  (0) 2022.05.11
4, 정수 내림차순으로 배치하기  (0) 2022.05.10
3, 직사각형 별찍기  (0) 2022.05.09

댓글