양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
def solution(x):
a = str(x)
arr = list(map(int,a))
b = sum(arr)
if x % b == 0:
return True
else:
return False
풀이
: 입력받은 정수 x의 자릿수 합을 구하기 위해
x를 문자열로 바꾼 후 한글자씩 다시 정수로 변환하여 리스트에 저장한다.
배열의 요소들의 합으로 x가 나누어 떨어질 경우 True를 리턴하고 그 외에 경우에는 False를 리턴한다
파이썬에서 배열의 합을 구할 땐 sum()이라는 함수로 간단히 구할 수 있다.
나는 이걸 몰라서 for문 돌릴뻔. 잊지 말자~
'코테 준비 > Programmers' 카테고리의 다른 글
| [프로그래머스 lv.3] 정수 삼각형 (0) | 2023.03.30 |
|---|---|
| 프로그래머스 Lv.2 - 카펫 (0) | 2023.03.22 |
| 프로그래머스 - 나머지가 1이 되는 수 찾기 (0) | 2023.02.28 |
| [프로그래머스 lv1] 정수 내림차순으로 배치하기 (0) | 2023.02.27 |
| 프로그래머스 - 정수 제곱근 판별 (0) | 2023.02.27 |