소소한 컴퓨터 이야기

자릿수 더하기

by Cori

문제

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

 

제한사항

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

 

입출력 예 

N answer
123 6
987 24

풀이

1. Me

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

정수를 문자열로 만들어 각 자릿수 값을 answer에 더해서 반환하였다. 간단하게 풀기 위해선 다음과 같이 작성 

def solution(n):
    return sum([int(i) for i in str(n)])

2. Others

def sum_digit(number):
    if number < 10:
        return number;
    return (number % 10) + sum_digit(number // 10)

재귀함수를 이용하여 정수를 문자열로 변환하지 않고 푸셨다. 이렇게 간단한 문제를 통해 재귀함수 사용법을 익혀두자.

'CS > Coding Test' 카테고리의 다른 글

시저 암호  (0) 2021.08.21
약수의 합  (0) 2021.08.21
자연수 뒤집어 배열로 만들기  (0) 2021.08.21
정수 내림차순으로 배치하기  (0) 2021.08.21
짝수와 홀수  (0) 2021.08.21

블로그의 정보

코딩하는 오리

Cori

활동하기