본문 바로가기

프로그래머스(Kotlin)/Level 1

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

728x90

코드 힌트

  1. 자리수 합 계산:
    • 숫자 x의 각 자리 수를 구한 뒤 그 합을 계산합니다.
    • 이 과정은 주어진 수를 10으로 나누어가면서 마지막 자릿수를 추출하고 이를 계속 더하는 방식으로 이루어집니다.
  2. 하샤드 수 판별:
    • 구한 자리수의 합 n으로 원래 숫자 x를 나누었을 때 나머지가 0이면, x는 하샤드 수입니다.
    • 그렇지 않으면 하샤드 수가 아닙니다.

정답은 더보기 클릭

더보기
class Solution {
    fun solution(x: Int): Boolean {
        var n = 0               // 각 자리 숫자의 합을 저장할 변수
        var num = x             // x 값을 복사해서 사용할 변수
        
        while (num > 0) {       // num이 0이 될 때까지 반복
            n += num % 10       // num의 마지막 자리 숫자를 n에 더함
            num /= 10           // num의 마지막 자리를 제거
        }
        
        return x % n == 0       // x가 n으로 나누어떨어지면 true, 아니면 false를 반환
    }
}
728x90