하샤드 수
by Cori문제
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다.
예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.
자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
제한 조건
· x는 1 이상, 1000 이하인 정수입니다.
입출력 예
arr | return |
10 | true |
12 | true |
11 | false |
13 | false |
풀이
1. Me
def solution(x):
a = [int(str(x)[i]) for i in range(len(str(x)))]
return True if x % sum(a) == 0 else False
입력으로 받은 x를 문자열로 변환하여 각 자릿값을 인덱스를 통해 찾아 리스트로 만들어서 풀었다. 깔끔해서 만족 !
2. Others
def Harshad(n):
return n % sum([int(c) for c in str(n)]) == 0
range(len(str(x))) -> str(x) 으로 바꾸면 더 간결하게 보이는 것을 알 수 있었다.
'CS > Coding Test' 카테고리의 다른 글
최대공약수와 최소공배수 (0) | 2021.08.21 |
---|---|
평균 구하기 (0) | 2021.08.21 |
직사각형 별 찍기 (0) | 2021.08.21 |
핸드폰 번호 가리기 (0) | 2021.08.21 |
x만큼 간격이 있는 n개의 숫자 (0) | 2021.08.21 |
블로그의 정보
코딩하는 오리
Cori