연습장/프로그래머스

프로그래머스(kotlin)_ 하샤드 수

아이른 2024. 2. 20. 16:48

 

1. 하샤드의 수 : x % (x 자릿수의 합) == 0

2. 수학적 풀이를 이용한 while문 사용.

(비슷한 예문 프로그래머스(Kotlin)_ 자릿수 더하기 (tistory.com) )

class Solution {
    fun solution(x: Int): Boolean {
        var sum = 0
        var num = x

        while (num > 0) {
            sum += num % 10
            num /= 10
        }
        return (x % sum == 0)
    }
}

 

3. map()을 이용해 배열화시켜 '0'을 뺀 x의 x % (x 자릿수의 합) == 0  

class Solution {
    fun solution(x: Int): Boolean = 
        x % x.toString().toList().map { it.toInt() - '0'.toInt() }.sum()  == 0
}