코딩공부/프로그래머스 (python)
[프로그래머스] 하샤드 수 (Python)
CodingKwon
2022. 8. 4. 00:36
문제 링크 (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이 될때까지 반복하면 각 자릿수를 모두 분해할 수 있습니다.