[알고리즘] 프로그래머스(약수의 개수와 덧셈 -Swift)

신승현·2024년 2월 16일

코드카타 알고리즘

목록 보기
32/91

1. 약수의 개수와 덧셈

  • 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

2. 제한조건

  • 1 ≤ left ≤ right ≤ 1,000

3. 입출력 예

leftrightresult
131743
242752

4. 정답코드

import Foundation

func solution(_ left:Int, _ right:Int) -> Int {
    var result: Int = 0;
    
    guard (left >= 1 && left <= right && right <= 1000) else {
        return 0;
    }
    
    for i in left...right {
        var cnt: Int = 0;
        
        for j in 1...i {
            if i % j == 0 {
                cnt += 1;
            }
        }
        if cnt % 2 == 0 {
            result += i;
        } else {
            result -= i;
        }
    }
    
    return result;
}
profile
개발자

0개의 댓글