Programmers/Lv. 1

[Kotlin] Programmers Lv. 1 약수의 개수와 덧셈

chattymin 2023. 9. 11. 12:16
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/77884

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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

 

[Kotlin] Programmers Lv. 1 약수의 합

https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는

naemamdaelo.tistory.com

 

그저 똑같은 문제다.

728x90
반응형