반응형
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
N | aswer |
123 | 6 |
987 | 24 |
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
문제 풀이
1. n을 문자열로 만든 후 i 를 반환해 더한다.
설명) n을 문자열로 만들면 1, 2, 3이 차례대로 반환됨
def solution(n):
answer = 0
for i in str(n):
answer+= int(i)
print(answer)
return answer
solution(123)
다른 사람 문제 풀이
1. 10보다 작으면 그 숫자를 리턴한다.
2. 10보다 클 때 재귀 함수를 이용해 나온 값을 모두 더해준다.
예 ) 123이라는 숫자가 처음에 들어올 경우 123%10 은 나머지가 3 + sum_digit(12 // 10 ) =1... sum_digit(2)=2
def sum_digit(number):
if number < 10:
return number;
return (number % 10) + sum_digit(number // 10)
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : {}".format(sum_digit(123)));
'프로그래머스 > lv1' 카테고리의 다른 글
[12933] 정수 내림차순으로 배치하기 pyhon3 (0) | 2022.08.30 |
---|---|
[12932] 자연수 뒤집어 배열로 만들기 python3 (0) | 2022.08.30 |
[12930] 이상한 문자 만들기 python3 (1) | 2022.08.30 |
[12928] 약수의 합 python3 (0) | 2022.08.29 |
[12926] 시저 암호 python3 (0) | 2022.08.29 |