[프로그래머스_Lv1] 하샤드 수

하샤드 수

문제 링크

- 나의 풀이

def solution(x):
    element = list(str(x))
    sum1 = 0
    for i in range(len(element)):
        sum1 += int(element[i])
    if x % sum1 == 0:
        answer = True
    else :
        answer = False
            
    return answer
  • int type으로 입력되는 input 값의 각 자릿수 숫자의 합계를 구하는 것이 이 문제의 key point라고 생각하였다.
  • x값을 string type의 리스트 형식으로 전환하여 element변수에 할당하였다.
  • for 문과 리스트의 요소(x의 각 자릿수 숫자)들에 부여된 index를 사용하여 요소들을 int type으로 다시 전환하여 합계를 구하였다.
  • if 문을 통해 하샤드 수가 맞는지 판단!

- 다른사람의 풀이

def solution(x):
    return x % sum([int(c) for c in str(x)]) == 0
  • 문제를 풀이한 원리는 나의 풀이와 동일하다고 할 수 있으나 훨씬 간결한 코드 구성을 보여준다.

좋은 웹페이지 즐겨찾기