[프로그래머스] Lv. 1 약수의 개수와 덧셈(Kotlin)

hxeyexn·2023년 4월 12일
0

[프로그래머스] Lv. 1

목록 보기
22/26
post-thumbnail

약수의 개수와 덧셈

문제 설명

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ left ≤ right ≤ 1,000

풀이

class Solution {
    fun solution(left: Int, right: Int): Int {
        var answer: Int = 0
        
        for (i in left..right) {
            var cnt = 0
            
            for (j in 1..i) {
                if (i % j == 0) cnt++
            }
            
            //println(cnt)
            
            if (cnt % 2 == 0) answer += i
            else answer -= i
        }
        
        return answer
    }
}

다른 사람 풀이

class Solution {
    fun solution(left: Int, right: Int): Int {
        return (left..right).map { i -> if ((1..i).filter { i % it == 0 }.size % 2 == 0) i else -i }.sum()
    }
}
profile
Android Developer

0개의 댓글