Q.

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.

 

sol)

def solution(n):
    x=n
    a =[]
    while(n>0):
        a.append(n%10)
        n = n //10

    if x % sum(a) == 0:
        return True
    else:
        return False

 

 

 

def solution(n):
    a =[]
    while(n>0):
        a.append(n%10)
        n = n //10

    if x % sum(a) == 0:
        return True
    else:
        return False

맨 처음 오류가 났던 코드. while문을 돌리면 결론적으로 n=0이 되버리고 그렇게 나온 0을 if 문에 넣었으니 오류가 났다. (실수는 스터디 팀원분이 알려주셨음) 그래서 결국 x에 미리 n을 담아두어서 문제를 해결했다. 겁나 이렇게 얼탱이 없는 실수를 하다니...매일 알고리즘을 풀다보니 머리가 꼬여있는 가보다.....

 

'Algorithm' 카테고리의 다른 글

programmers #모의고사  (0) 2021.07.29
programmers #K번째수  (0) 2021.07.22
programmers #핸드폰 번호 가리기도움말  (0) 2021.07.21
programmers #정수 제곱근 판별  (0) 2021.07.21
programmers # 행렬의 덧셈  (0) 2021.07.20

+ Recent posts