문제 링크 (Level 1)
https://school.programmers.co.kr/learn/courses/30/lessons/12947?language=python3
나의 코드 (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이 될때까지 반복하면 각 자릿수를 모두 분해할 수 있습니다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
[프로그래머스] 핸드폰 번호 가리기 (Python) (0) | 2022.08.06 |
---|---|
[프로그래머스] 제일 작은 수 제거 (Python) (0) | 2022.08.04 |
[프로그래머스] 시저 암호 (Python) (0) | 2022.07.28 |
[프로그래머스] 자릿수 더하기 (Python) (0) | 2022.07.28 |
[프로그래머스] 평균 구하기 (Python) (0) | 2022.07.26 |
댓글