문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위: 100,000,000 이하의 자연수
입출력 예
N | answer |
123 | 6 |
987 | 24 |
나의 코드
def solution(N):
answer = 0
for i in range(len(str(N))):
answer += int(str(N)[i])
return answer
모범 답안
def solution(number):
if number < 10:
return number
return (number % 10) + solution(number // 10)
1. 재귀를 사용했다.
2. 10으로 나누었을 때 나머지를 더해줬다. 즉, 일의 자리, 십의 자리, 백의 자리... 순으로 더해준다.
습관적으로 for문을 사용하게 된다... 다른 방법도 생각해보자!
'3. 알고리즘 > 프로그래머스' 카테고리의 다른 글
[python] 7. 정수 내림차순으로 배치하기(feat. join 함수) (0) | 2021.01.01 |
---|---|
[python] 6. 자연수 뒤집어 배열로 만들기(feat. reversed 함수) (0) | 2020.12.30 |
[python] 4. K번째수(feat. map과 lambda) (0) | 2020.12.29 |
[python] 3. 완주하지 못한 선수(feat. collections.Counter함수) (0) | 2020.12.29 |
[python] 2. 문자열 내 p와 y의 개수(feat. count함수) (0) | 2020.12.28 |