NIRVANA

[DAY-8] 프로그래머스 자릿수 더하기 본문

Coding test(Python3)/스터디

[DAY-8] 프로그래머스 자릿수 더하기

녜잉 2024. 5. 25. 16:44

문제

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

제한사항

  • N의 범위 : 100,000,000 이하의 자연수

 

문제 풀이 접근법1

1) 자연수 N을 문자열로 변경한 뒤, for문을 문자열의 각 원소를 가지고 온다.

2) 문자열의 원소를 다시 자연수로 변경하고, 그 값을 answer에 더한다.

3) answer를 반환한다. 

def solution(n):
    answer = 0
    for i in str(n):
        answer += int(i)
    return answer

 

 


다른 분들 문제 풀이

def sum_digit(number):
    '''number의 각 자릿수를 더해서 return하세요'''
    if number < 10:
        return number

    return number%10 + sum_digit(number//10)



# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : {}".format(sum_digit(123)));

재귀를 사용해서 푸는 방법은 생각 못했는데 좋은 것 같다!