[프로그래머스_Lv1] 자릿수 더하기

Lee, Chankyu·2021년 9월 6일
0
post-thumbnail

자릿수 더하기

문제 링크

나의 풀이

def solution(n):
    n = list(str(n))
    n_list = [int(i) for i in n]
    sum = 0
    for j in range(len(n_list)):
        sum += n_list[j]
    return sum
  • 입력된 n을 문자열 리스트로 변환한 후 정수형 리스트로 변환 하였다. 그리고 각 요소들을 반복문을 통해 더해주었다. 코드를 작성하면서도 다소 비효율적이고 번거롭게 풀이한다는 느낌은 있었다. 내 스타일이 굳어지지 않도록 다양한 시도를 많이 해보자!!

다른 사람의 풀이

def sum_digit(number):
    if number < 10:
        return number;
    return (number % 10) + sum_digit(number // 10) 
  • 함수의 재귀(recursion) 구조로 풀이한 방식이다.
    number % 10은 number를 10으로 나눈 나머지 이고 이는 곧 number의 첫번째 자릿수를 의미한다. sum_digit(number // 10)과 같이 sum_digit()함수가 2번째 작동되면 처음 number의 두번째 자릿수가 return 되고 결국엔 모든 자릿수의 합을 구할 수 있다. 재귀함수의 사용 예시를 잘 알아두자!
profile
Backend Developer - "Growth itself contains the germ of happiness"

0개의 댓글