20240712 TIL
21번 - 하샤드 수
문제 설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
제한 조건
- x는 1 이상, 10000 이하인 정수입니다.
입출력 예
x | return |
10 | True |
12 | True |
11 | False |
13 | False |
<나의 풀이>
def solution(x):
answer = 0
for i in str(x):
answer += int(i)
if x % answer == 0:
return True
else:
return False
- 자릿수의 합을 구하기위해 x를 문자열(str(x))로 바꾸고 반복문을 이용해 자릿수를 구한 뒤, sum을 통해 계산
- 자릿수의 합의 나머지가 0으로 떨어지는 것을 확인하기 위해 x % answer을 해준다.
- 만약 0으로 떨어진다면(== 0) True, 0으로 떨어지지 않는다면 False 반환
코드카타를 하루에 하나 정도는 푸니까 그래도 나름 파이썬 조건문이나 반복문에 익숙해져 가고 있다. 확실하게 잘하고 있다 이런건 아니지만 지금처럼 꾸준하게 연습한다면 나중에는 파이썬의 기초는 완전 다 잡혀있을꺼라 생각 !! 이제 남은 파이썬 남은 개인과제가 있는데 열심히 구글링도 하고 공부도 하면서 풀어봐야겠다 !! 오늘 하루도 홧팅해야지 !
'CODEKATA' 카테고리의 다른 글
[Python] 콜라츠 추측 (0) | 2024.07.16 |
---|---|
python codekata 22번 - 두 정수 사이의 합 (0) | 2024.07.15 |
Python codekata 20번 - 정수 내림차순으로 배치하기 (2) | 2024.07.10 |
Python CODEKATA 17번, 18번 (0) | 2024.07.09 |
SQL CODEKATA 51번 (0) | 2024.07.09 |