Archive/Questions
[programmers/Swift] 약수의 합
Marco
2022. 4. 28. 19:16
728x90
programmers.co.kr - 코딩테스트연습 - Lv.1 - 연습문제 - 약수의 합
코딩테스트 연습 - 약수의 합
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수
programmers.co.kr
Constraints :
- n은 0 이상 3000이하인 정수입니다.
//
// Created by Yongwoo Marco on 2022/04/28.
// Copyright © 2022 Yongwoo Marco Kim. All rights reserved.
//
func solution(_ n:Int) -> Int {
guard n != 0 else { return 0 }
return (1...n).reduce(0) { n % $1 == 0 ? $0 + $1 : $0 }
}
print(solution(12)) // 28
print(solution(5)) // 6
How I tried this :
약수를 골라네고 reduce 하는건 두 번 도는것 같아서 바로 처리
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90