본문 바로가기

알고리즘/Python 기초

파이썬 - 하샤드 수(lv.1)

문제 ) 프로그래머스 - 하샤드 수(lv.1)

📌 문제 설명

양의 정수 x 하샤드 수이려면 x 자릿수의 합으로 x 나누어져야 합니다. 예를 들어 18 자릿수 합은 1+8=9이고, 18 9 나누어 떨어지므로 18 하샤드 수입니다. 자연수 x 입력받아 x 하샤드 수인지 아닌지 검사하는 함수, solution 완성해주세요.

 

📌 제한 사항

  • x 1 이상, 10000 이하인 정수입니다.

📌 입출력 예

x return
10 true
12 true
11 false
13 false

✏️ map(int, str) / sum()

def solution(x):
	
    a = sum(map(int, str(x)))
    return x % a == 0

 

✏️ for() / sum()

def solution(x):
	
    answer = 0
    for i in str(x):
        answer += int(i)
    return x % answer == 0
    
	# 한 줄로 변경
	# return x % sum(int(i) for i in str(x)) == 0