관리 메뉴

오늘도 배운다

자릿수 더하기 / 프로그래머스, 파이썬 코딩테스트 연습 연습문제 본문

코딩테스트연습(파이썬)

자릿수 더하기 / 프로그래머스, 파이썬 코딩테스트 연습 연습문제

LearnerToRunner 2022. 12. 18. 00:39

문제

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

 

제출답안

def solution(n):
    nums = []
    for d in str(n):
        nums.append(d)
        
    answer = sum(map(int, nums))
    return answer

 

 

제출 후 개선답안

다른 사람이 재귀함수를 가지고 푼 것을 보았는데
WOW....


def solution(number):
    if number < 10:
        return number;
    return (number % 10) + solution(number // 10)
해설

solution(123) >> 3 + solution(12)
3 + solution(12) >> 3 + 2 + solution(1)
3 + 2+ solution(1) >> 3 + 2 + 1

놀랍습니다...


저자의 코드 성능 / 재귀함수를 이용한 코드 성능

 

문제 바로가기

 

728x90
Comments