반응형
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
n은 0 이상 3000이하인 정수입니다.
입출력 예시
print(solution(12)) //28
print(solution(5)) //6
내 답안
func solution(_ n:Int) -> Int {
if n == 0 { return 0 }
let arr = Array<Int>(1...n).filter{n % $0 == 0}
var result = 0
for i in arr {
result += i
}
return result
}
모범답안
func solution(_ n:Int) -> Int {
return n != 0 ? (1...n).filter{n % $0 == 0}.reduce(0,+) : 0
}
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Swift 알고리즘] Programmers 이상한 문자 만들기 (0) | 2022.01.29 |
---|---|
[Swift 알고리즘] Programmers 수박수박수박수? (0) | 2022.01.29 |
[Swift 알고리즘] Programmers 소수 찾기 (0) | 2022.01.20 |
[Swift 알고리즘] Programmers 약수의 합 (0) | 2022.01.20 |
[Swift 알고리즘] Programmers 로또의 최고 순위와 최저 순위 (0) | 2022.01.20 |