본문 바로가기
코딩공부/프로그래머스 (python)

[프로그래머스] 하샤드 수 (Python)

by CodingKwon 2022. 8. 4.

문제 링크 (Level 1)

https://school.programmers.co.kr/learn/courses/30/lessons/12947?language=python3 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 코드 (Python)

def solution(x):
    sum = 0
    tmp = x  # 원본 데이터 저장
    while tmp > 0: # 조건문 (양의 정수)
        # 한 자리수씩 분리
        sum += tmp % 10
        tmp //= 10
    # 나머지가 0이면 하샤드 수 아니면 False
    if x % sum == 0:
        answer = True
    else:
        answer = False
    return answer

한 자릿수 씩 분리하는 방법을 알아야 문제의 답을 접근할 수 있습니다.

tmp%10을 하면 일의 자리 수를 분리할 수 있습니다.

tmp//10을 하면 일의 자리 수를 없앨 수 있습니다.

이를 0이 될때까지 반복하면 각 자릿수를 모두 분해할 수 있습니다.

 

 

댓글