초봉5센티미터

Lv1 - 하샤드 수 본문

Python/프로그래머스

Lv1 - 하샤드 수

삶은돼지고기 2023. 2. 24. 18:46
728x90

문제 설명

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

 

입출력 예

                
arr return
10 true
12 true
11 false
13 false

 

코드

def solution(x):
    list = []
    answer = True
    for i in str(x):
        list.append(int(i))
    s = sum(list)
    if x % s == 0:
        return True
    else:
        return False

맨처음에 예시만을 보고x에 3자리 이상의 숫자가 올 수 있다는 사실을 잊어버려 

n = len(list)
sum = list[0] + list[n-1]

이렇게 정의하였다.

제출에서 계속 감점이 나와 당황하였는데 곰곰히 생각해보니 x에 꼭 2자리 숫자만이 올 수 있는게 아니란걸 깨닫고
코드를 수정하였다.

 

'Python > 프로그래머스' 카테고리의 다른 글

LV1 - 콜라츠 추측  (0) 2023.02.26
Lv1 - 옷가게 할인 받기  (0) 2023.02.25
Lv1 - 서울에서 김서방 찾기  (0) 2023.02.24
Lv1 - 짝수와 홀수  (0) 2023.02.12
Lv1 - 자연수 뒤집어 배열로 만들기  (0) 2023.02.11
Comments