PROGRAMMERS Python Lv1. 하샤드 수
이번 문제는 하샤드 수이다.
나의 코드는 다음과 같다.
def solution(x):
lx = list(str(x))
sum = 0
for i in range(len(lx)):
sum += int(lx[i])
return True if x % sum == 0 else False
이 문제의 풀이는 다음과 같이 진행했다.
- 주어진 x는 int이므로 바로 for문을 사용하지 못하므로
list(str())을 이용해서 for문을 사용하게 한다.
-
sum 에 각 인덱스별 숫자를 더해준다.
-
나머지가 0일 경우, True 그렇지 않다면 False를 출력한다.
다른 사람의 풀이 중에 한 줄짜리가 있어서 가져왔다.
def solution(x):
return n % sum([int(c) for c in str(n)]) == 0
이 코드에서는 for 문의 in을 통해 각각의 숫자를 더하게 해줬고,
무엇보다도 마지막에 ==를 사용해서 True와 False를 지정하지 않아도
되어 잘 짜여진 것 같다.
댓글남기기