Python) 하샤드 수

난이도 : Level 1
유형 : 연습문제
카테고리 : 프로그래머스
날짜 : 2022-02-20

문제 풀이

하샤드 수를 구하는 문제이다.
예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수이다.
x가 하샤드 수 일때는 true, 아닐 때는 false를 리턴하면 된다.

  1. x의 수를 첫번째 자리 수와 두번째 자리 수로 나누기 위해 str을 사용하여 문자열로 쪼개준다.
    그런다음 for문을 사용하여 두개의 수를 더해 answer에 넣어준다. 그러면 두 자릿수의 합을 구할 수 있다.

    1
    2
    for i in str(x):
    answer += int(i)
  2. x가 answer로 나누어 떨어지면 하샤드 수이기 때문에 True를 리턴한다.

    1
    2
    if x % answer == 0 :
    return True
  3. 그렇지 않으면 False를 리턴한다.

    1
    2
    else :
    return False

전체 코드

1
2
3
4
5
6
7
8
9
def solution(x):
answer = 0
for i in str(x):
answer += int(i)

if x % answer == 0 :
return True
else :
return False
Author

Sujeong Kim

Posted on

2022-02-20

Updated on

2022-02-20

Licensed under

댓글