codekata

[프로그래머스] #21 하샤드 수

kinggoddino 2024. 7. 19.

▶ 문제

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 함.

ex) 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수임.

자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수 solution 만들기.

 

▶ 제한조건

x는 1 이상, 10000 이하인 정수

 

▶ 풀이

우와 하샤드 수를 여기서 보네!

정수 x의 각 자리수를 더한 total을 구한 다음에, x를 total으로 나눠주기! 간단하다

def solution(x):
    total = 0
    for i in str(x):     # 문자열로 바꿔서 반복돌리기
        total += int(i)  # 한자리씩 더해서 총합 구하기
    if x % total == 0:   # x를 총합으로 나눈다
        return True
    return False

통과!