재귀함수 연습문제: 자릿수 합

이다연·2021년 5월 27일
0

Algorithm

목록 보기
3/6

from codeit

자릿수 합

실습과제

파라미터로 정수값 n을 받고 n의 각 자릿수의 합을 리턴해주는 재귀함수 sum_digits를 쓰세요.

내 코드

def sum_digits(n):
    if n < 10:
        return n
    string = str(n)
    return int(string[0]) + sum_digits(int(string[1:]))

자릿수 -> 인덱스 부터 떠올렸음

답안

def sum_digits(n):
    # base case
    if n < 10:
        return n

    # recursive case
    return n % 10 + sum_digits(n // 10)

print(sum_digits(22541))

수학적으로 풀어냄. 10으로 나누면 1의 자릿수와 나머지를 분리할 수 있음.
//모듈러 사용하면 나머지 값이 1의 자리 수와 같음

profile
Dayeon Lee | Django & Python Web Developer

0개의 댓글