Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

MyPrograming

프로그래머스-파이썬 (하샤드 수) 본문

Python/알고리즘

프로그래머스-파이썬 (하샤드 수)

SeongWon 2020. 4. 8. 17:14
반응형

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

 

<제한 사항>

  • x는 1 이상, 10000 이하인 정수입니다.

<입출력 예시>

 


<내 풀이>

 

def solution(x):
    n = str(x) #입력값을 문자열로 변환
    split_n = list(n) #변환시킨 문자열 n을 한 글자씩 잘라서 리스트로 저장됨
    
    sum = 0 #각 자리수의 합을 할당할 변수
    for i in range(len(split_n)):
        split_n[i] = int(split_n[i]) #분할된 글자들을 int형으로 변환
        sum += split_n[i]
    
    if x%sum == 0:
        answer = True
    else:
        answer = False
    
    return answer

<다른 사람의 풀이>

 

def Harshad(n):
    # n은 하샤드 수 인가요?
    return n % sum([int(c) for c in str(n)]) == 0

return에 비교 연산자를 사용할 수 있다는 것을 알게되었다.

반응형