728x90
https://school.programmers.co.kr/learn/courses/30/lessons/77884
Code
import kotlin.math.sqrt
class Solution {
fun solution(left: Int, right: Int): Int {
var answer: Int = 0
for (n in left .. right){
val set = hashSetOf<Int>()
for (i in 1 .. sqrt(n.toDouble()).toInt()){
if (n % i == 0) {
set.add(i)
set.add(n/i)
}
}
when(set.size % 2){
0 -> answer += n
1 -> answer -= n
}
}
return answer
}
}
이 문제는 약수를 구하는 방법을 알고있는지 묻는 문제다.
그저 각 숫자들의 약수의 갯수를 구하고 짝수인지, 홀수인지 파악하면 되는 문제다
근데 이 문제 어디서 많이 본거 같지 않나?
같은 Lv.1 문제중에 "약수의 합"이라는 문제가 있다.
https://naemamdaelo.tistory.com/entry/Kotlin-Programmers-Lv-1-%EC%95%BD%EC%88%98%EC%9D%98-%ED%95%A9
그저 똑같은 문제다.
728x90