구글 입사 문제로 작년 쯤에 인터넷에 유행했던 문제 중에

1부터 10000까지에 쓰인 8의 갯수를 구하는 문제의 답을 구하는 과정을 python.kr 에서 파이썬으로 구현한 식을 몇 개 보았는데요


def f(n): 
    if n == 1: 
        return 1 
    return f(n-1) * 10 + 10 ** (n-1) 

print f(4) 






def f(n):

if n ==1:

return 1

return n * (10**(n-1))


print f(4)


의 실질적인 차이에 대해 알고 싶습니다


후자의 경우가 훨씬더 상식적으로 쉽게 나올 수 있는 답일거 같은데 

전자 처럼 함수안에 함수가 다시 들어갈 경우 처리속도에 긍정적인 영향을 끼치는지 궁금합니다