[Python] 각 자리 수의 합

백연선·2021년 10월 8일
2

입력받은 숫자의 각 자리 수를 더한 결과를 리턴하는 문제이다.

첫번째 방법은 다음과 같다.

def solution(num):
    answer = 0
    while num > 0:
        answer += num % 10
        num //= 10
    return answer

answer에 num을 10으로 나눈 나머지를 더하는 과정을 num을 10으로 나눈 몫이 0보다 클 동안 반복한다.

두번째 방법은 다음과 같다.

def solution(num):
	return sum([int(i) for i in str(num)])

int num을 string으로 변환하고 한 자리씩 다시 int로 list에 저장한다.
그리고 sum()을 사용해서 list에 있는 원소를 모두 더한다.

1개의 댓글

comment-user-thumbnail
2021년 10월 9일

우와

답글 달기