프로그래머스 Lv.1 하샤드 수

서준·2023년 6월 14일
0

프로그래머스 Lv.1

목록 보기
7/35

1. 문제

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

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

2. 풀이

1차 시도(성공)

def solution(x):
    # 각 자릿수를 list에 저장
    num_list = list(map(int, str(x)))
    
    # 나누는 숫자 생성
    div = sum(num_list)
    
    if (x % div == 0):
        return True
    else:
        return False
  • 쉬운 문제였다. 앞서 배운 내용들을 사용했다.

3. Lv.up

4. Ref.

def Harshad(n):
    return n%sum(int(x) for x in str(n)) == 0
  • 한줄로 처리할 수도 있지만 크게 문제되지는 않으니 넘어가자.
profile
어린이입니다.

0개의 댓글