본문 바로가기
[업무 지식]/Algorithm

[하샤드 수] 숫자 x가 자신의 자릿수의 합으로 나누어 떨어지는 수

by 에디터 윤슬 2024. 12. 17.

링크

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제

정답 1

# 문자열 변환 후 자릿수 합 계산

def solution(x):
    num = sum(int(digit) for digit in str(x))
    return x % num == 0

정답 2

# 수학적 접근

def solution(x):
    original = x
    digit = 0
    while x > 0:
        digit += x % 10
        x //= 10
    return original % digit == 0

정답 3

# 리스트 활용

def solution(x):
    digit = list(map(int, str(x)))
    digit_sum = sum(digit)
    return x % digit_sum == 0