[프로그래머스] 하샤드 수 (Kotlin)

728x90

문제


이해

  1. x % ( x 자릿수의 합 ) == 0 -> 하샤드
  2. Return true/false

접근

  1. map으로 x를 배열화 시켜 요소값의 합을 구해 자리값의 합을 구한다
  2. 나눠서 0이 되는 값의 합을 구한다 -> 비교

풀이

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

        x.toString().map {
            sum += (it.toInt() - '0'.toInt())
        }
        return x % sum == 0
    }
}

다른 사람의 풀이

class Solution {
    fun solution(x: Int): Boolean {
        return x % x.toString().fold(0) { acc, c ->
            acc + c.toInt() - 48
        } == 0
    }
}
728x90

댓글

Designed by JB FACTORY