<문제 설명>
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
제한 조건
- x는 1 이상, 10000 이하인 정수입니다.
<코드>
def solution(x):
answer = True
original=x
total = 0
while x > 0:
total += x % 10
x //= 10
if original % total == 0:
answer=True
else:
answer=False
return answer
<풀이과정>
-반복문을 돌면서 x로 연산을 수행할 것이기 때문에 원래 값을 변수에 따로 저장
-x를 10으로 나눠서 1의 자리 수부터 구해 total에 더해주기
-total값으로 x를 나눴을 때 나누어 떨어지는지 확인
'2024 코딩테스트 스터디' 카테고리의 다른 글
[3주_5일차] 백준-덱2(Python) (0) | 2024.06.05 |
---|---|
[3주_4일차] 백준-요세푸스 문제 0(Python) (1) | 2024.06.04 |
[3주_2일차] 프로그래머스-평균 구하기(Python) (0) | 2024.06.02 |
[3주_1일차] 프로그래머스-짝수와 홀수(Python) (0) | 2024.06.01 |
[2주_7일차] 백준- 카드2(Python) (0) | 2024.05.31 |