MyPrograming
프로그래머스-파이썬 (자릿수 더하기) 본문
반응형
Q. 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
<제한사항>
- N의 범위 : 100,000,000 이하의 자연수
<입출력 예시>
<입출력 예 설명>
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
<내 풀이>
def solution(n):
answer = 0
list_n = list(str(n))
for i in range(len(list_n)):
answer += int(list_n[i])
return answer
입력되는 n을 문자열로 변환시킨 list로 새로운 변수에 저장하면 하나씩 쪼개진 리스트로 남는다. ex) 123 →['1','2','3']
이를 리스트 길이만큼 for문으로 각 자릿수를 int로 변환시킨 후에 더해주었다.
<다른사람의 풀이>
def sum_digit(number):
if number < 10:
return number;
return (number % 10) + sum_digit(number // 10)
정의한 함수 안에서 다시 함수를 호출하는 재귀구조를 통해 구현할 수 있었다.
재귀구조를 좀더 공부 해봐야겠다.
반응형
'Python > 알고리즘' 카테고리의 다른 글
프로그래머스-파이썬 (정수 내림차순으로 배치하기) (0) | 2020.04.28 |
---|---|
프로그래머스-파이썬 (정수 제곱근 판별) (0) | 2020.04.23 |
프로그래머스-파이썬 (최대공약수와 최소공배수) (0) | 2020.04.20 |
프로그래머스-파이썬 (행렬의 덧셈) (0) | 2020.04.19 |
프로그래머스-파이썬 (문자열 다루기 기본) (0) | 2020.04.14 |