Programmers

[iOS Swift] Lv.1 약수의 개수와 덧셈

pockpock 2024. 5. 20. 22:29
출처: 프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/77884
난이도:Lv.1

 

문제 설명

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

 

제한 사항

  • 1 ≤ left ≤ right ≤ 1,000

입출력 예

left right result
13 17 43
24 27 52

import Foundation

func solution(_ left:Int, _ right:Int) -> Int {
    // 약수의 총 갯수 -> ex) 13 .. 1,3
    // 짝수 = 더하기
    // 홀수 = 빼기
    // left ... right
    var pd: [String] = []
    var sum: Int = 0
    
    for i in left ... right{ //i = 13~17
        for j in 1...i{      //j = 1 ~ 13...17     
            if i % j == 0{
            let AA = String(i % j)  //문제1. 배열의 초기화 필요
            pd.append(AA)
            }
        }  
        
            if pd.count % 2 == 1{
                var BB = i
                BB *= -1
                sum += BB
            }else {
                sum += i
            }
            pd = [] //문제1. 해결
    }
    return sum
}