classSolution{
funsolution(left: Int, right: Int): Int {
var cnt: Intvar result = 0for(i in left..right) {
cnt = 0for(j in1..i) if(i % j == 0) cnt++
if(cnt % 2 == 0) result += i
else result -= i
}
return result
}
}
처음에는 이런식으로 풀었는데, 코드가 난잡하고, 한눈에
알아보기가 힘들어, 답안을 보았는데,
한 줄에 깔끔하게 끝나는 코드를 발견할 수 있었다.
//약수의 개수와 덧셈classNumberAndAdditionOfFactors{
funsolution(left: Int, right: Int): Int =
(left..right).sumOf { i -> if ((1..i).filter { i % it == 0 }.size % 2 == 0) i else -i }
}