프로그래머스-약수의 합

효딩딩·2023년 12월 6일
1

문제

풀이

풀이1 - 시간초과 에러

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

solution(12)
solution(5)

풀이 2 - 시간초과 문제 해결

  • 0처리를 안해줬구나... 문제 제대로 읽어야한다..!!
 이유 0 처리 안해서
func solution(_ n:Int) -> Int {
    var add = 0
    if n == 0 {
        return 0
    }
    for i in 1...n {
        if n % i == 0 {
            add += i
        }
    }
    
    return add
}

solution(12)
solution(5)

풀이 3 - 더 가독성있게 풀기

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

solution(12)
solution(5)
profile
어제보다 나은 나의 코딩지식

0개의 댓글