코딩테스트 | 하샤드 수

😶 부족한 금액 계산하기

🤔 문제

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

⌛ 제한사항

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

💌 입출력 예

arrreturn
10true
12true
11false
13false

😀 접근

  1. 각 자리의 합을 구하기 위해 inputstr 형태로 변환한다.
  2. str 로 변환된 값을 for 루프를 통해 각 자리를 추출 후 sum 함수를 이용하여 합을 구한다.
  3. 구한 값을 % 나머지를 구해주는 연산자를 이용하여 input 과 나누어 0 인지 확인한다.

✏ 구현

def solution(x):
    return x % sum([int(val) for val in str(x)]) == 0

🏆 결과

테스트 1 〉	통과 (0.01ms, 10.4MB)
테스트 2 〉	통과 (0.02ms, 10.4MB)
테스트 3 〉	통과 (0.02ms, 10.4MB)
테스트 4 〉	통과 (0.02ms, 10.3MB)
테스트 5 〉	통과 (0.02ms, 10.4MB)
테스트 6 〉	통과 (0.01ms, 10.3MB)
테스트 7 〉	통과 (0.02ms, 10.4MB)
테스트 8 〉	통과 (0.02ms, 10.4MB)
테스트 9 〉	통과 (0.02ms, 10.4MB)
테스트 10 〉	통과 (0.02ms, 10.3MB)
테스트 11 〉	통과 (0.02ms, 10.4MB)
테스트 12 〉	통과 (0.02ms, 10.3MB)
테스트 13 〉	통과 (0.01ms, 10.4MB)
테스트 14 〉	통과 (0.02ms, 10.4MB)
테스트 15 〉	통과 (0.02ms, 10.3MB)
테스트 16 〉	통과 (0.02ms, 10.4MB)
테스트 17 〉	통과 (0.02ms, 10.4MB)

좋은 웹페이지 즐겨찾기