level 2. 하샤드 수
10 Mar 2017 | 알고리즘 프로그래밍level 2. 하샤드 수
문제
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.
Harshad함수는 양의 정수 n을 매개변수로 입력받습니다. 이 n이 하샤드수인지 아닌지 판단하는 함수를 완성하세요. 예를들어 n이 10, 12, 18이면 True를 리턴 11, 13이면 False를 리턴하면 됩니다.
풀이 (python)
def Harshad(n):
sum = 0
for i in str(n):
sum = int(i) + sum
return False if n % sum else True
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(Harshad(18))
다른사람 풀이
def Harshad(n):
return n % sum(int(x) for x in str(n)) == 0
배운점
- int() 내장함수를 통해 문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 리턴한다.
- sum() 내장함수를 통해 매개변수의 합을 구할 수 있다.