반응형
[문제]
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
-
N의 범위 : 100,000,000 이하의 자연수
입출력 예
N |
answer |
123 |
6 |
987 |
24 |
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
[1차 풀이]
- 숫자형은 각 자리수마다 iterator로 뽑아낼 수 가 없어서 str로 변형 후 int로 하나씩 더해주었다.
def solution(n):
return sum([int(num) for num in str(n)])
[2차 풀이]
- 10미만의 수는 그대로 리턴하고 10이상의 수는 10으로 나눈 나머지만 남긴 상태로 재귀 함수를 이용하여 계속 10보다 작은 수를 구하여 더한다
def solution(n):
if n < 10 :
return n
return n % 10 + solution(n//10)
[링크]
https://programmers.co.kr/learn/courses/30/lessons/12931
반응형
'Python' 카테고리의 다른 글
[알고리즘 기본 독학] 1/100, 프로그래머스 124 나라의 숫자(12899) (0) | 2020.04.12 |
---|---|
[Python/프로그래머스] 12932_자연수 뒤집어 배열로 만들기 - reverse (0) | 2020.04.02 |
[Python/프로그래머스] 12930_이상한 문자 만들기 - [ a if x조건 else b for x in 리스트 ] (0) | 2020.04.02 |
[Python/프로그래머스] 12926_시저 암호 - 알파벳 리스트 만들기 (0) | 2020.04.01 |
[Python/프로그래머스] 12922_수박수박수박수박수박수 - str*n , index (0) | 2020.03.29 |