출처: 프로그래머스
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
}
'Programmers' 카테고리의 다른 글
[iOS Swift] Lv.1 부족한 금액 계산하기 (0) | 2024.05.22 |
---|---|
[iOS Swift] Lv.1 문자열 내림차순으로 배치하기 (1) | 2024.05.22 |
[iOS Swift] Lv.1 내적 (0) | 2024.05.18 |
[iOS Swift] Lv.1 수박수박수박수박수박수? (0) | 2024.05.18 |
[iOS Swift] Lv.1 가운데 글자 가져오기 (0) | 2024.05.18 |