193. 약수의 개수와 덧셈
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import Foundation
func solution(_ left:Int, _ right:Int) -> Int {
var n : Int = 0
var num : Int = 0
var answer : Int = 0
for i in left ... right {
n = 1
num = 0
while i >= n {
if i % n == 0 {
num += 1
}
n+=1
}
if num % 2 == 0 {
answer += i
} else {
answer -= i
}
}
return answer
}
for 문과 while문을 통해 약수를 구하고 while이 끝난 다음 if문을 통해 해당 약수의 개수가 짝수 또는 홀수일때를 판별하여 처리하였다.
다른코드
1
2
3
func solution(_ left: Int, _ right: Int) -> Int {
return (left...right).map { i in (1...i).filter { i % $0 == 0 }.count % 2 == 0 ? i : -i }.reduce(0, +)
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.