[업무 지식]/Algorithm
[하샤드 수] 숫자 x가 자신의 자릿수의 합으로 나누어 떨어지는 수
에디터 윤슬
2024. 12. 17. 09:35
링크
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