프로그래머스(Python) 풀이/Level.1

프로그래머스(Python) Level.1 하샤드 수 풀이

개발윗미 2022. 2. 16. 19:31

Python으로 구현한 12947번 하샤드 수 문제 풀이입니다.

 

https://programmers.co.kr/learn/courses/30/lessons/12947

 

코딩테스트 연습 - 하샤드 수

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하

programmers.co.kr


def solution(x):
    answer = True
    temp = x
    sum_value = 0
    while temp != 0 :
        sum_value += temp % 10
        temp //= 10
        
    if x % sum_value != 0 :
        answer = False
    
    return answer

 

1. 반복문을 통해 temp의 값이 0이 될때까지 temp값을 10으로 나눈 나머지 값을 sum_value에 누적한다.

 

2. temp의 값을 10으로 나눈 값으로 갱신한다.

 

3. 반복문이 끝나면 전달받은 x를 sum_value로 나눠 도출된 나머지 값을 확인하여 그 값이 0이 아니라면 answer를 False로 갱신한다.