정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
n
은 0 이상 3000이하인 정수입니다.n | return |
---|---|
12 | 28 |
5 | 6 |
입출력 예 #112의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
입출력 예 #25의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.
1) 그냥 약수 구해서 sum 해주면 된다.
2) range
range, filter
, 나머지 0
체크 , sum
class Solution {
fun solution(n: Int): Int {
var filter = (1..n).filter { n % it == 0 }
var reduce = filter.reduce { total, element -> total + element }
return reduce
}
}
이렇게 하면 RunTimeError
가 뜨더라.. 왜?..👿 return
타입도 Int 맞는데..
sum()
이라는 함수가 있어서 대입해봤는데 통과..
아직도 영문을 모르겠다.
class Solution {
fun solution(n: Int): Int {
var filter = (1..n).filter { n % it == 0 }.sum()
//var reduce = filter.reduce { total, element -> total + element }
return filter
}
}
결론은 그냥 이렇게 해결