문제 설명
- 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
내가 쓴 답
해설
- sum이라는 변수를 생성하고 0으로 초기화
- 반복문을 통해 sum 변수에 입력값의 약수를 더하고 출력
func solution(_ n:Int) -> Int {
var sum = 0
guard n > 0 else {return sum}
for i in 1...n {
if n % i == 0{
sum = sum + i
}
}
return sum
}
다른 사람들이 쓴 답
func solution(_ n:Int) -> Int {
guard n != 0 else {
return 0
}
return Array(1...n).filter{n % $0 == 0}.reduce(0, +)
}
'iOS > 코딩테스트 연습문제' 카테고리의 다른 글
8, 행렬의 덧셈 (0) | 2022.05.14 |
---|---|
7, 두 정수 사이의 합 (0) | 2022.05.13 |
5, 제일 작은 수 제거하기 (0) | 2022.05.11 |
4, 정수 내림차순으로 배치하기 (0) | 2022.05.10 |
3, 직사각형 별찍기 (0) | 2022.05.09 |
댓글