UP
[프로그래머스 : PYTHON] 자릿수 더하기 본문
문제 설명
자연수 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 하면 됩니다.
문제풀이
n을 문자열로 바꿔 리스트로 만들고 map으로 각 리스트의 요소를 숫자로 바꾼 후 sum으로 합을 계산한다.
다른 사람 풀이 : 재귀를 이용하여 n을 10으로 나눈 나머지를 더하고 10으로 나눈 몫을 또 다시 재귀로 돌려서 n이 10이하 즉, 한 자리 수가 될 때까지 돌린다.
전체코드
def solution(n):
return sum(map(int,list(str(n))))
다른 사람 풀이
def solution(n):
if n < 10:
return n;
return (n % 10) + solution(n // 10)
반응형
'알고리즘 > 기타' 카테고리의 다른 글
[프로그래머스 : PYTHON] 정수 내림차순으로 배치하기 (0) | 2021.06.05 |
---|---|
[프로그래머스 : PYTHON] 자연수 뒤집어 배열로 만들기 (0) | 2021.06.05 |
[프로그래머스 : PYTHON] 이상한 문자 만들기 (0) | 2021.06.05 |
[프로그래머스 : PYTHON] 소수 찾기 (0) | 2021.06.05 |
[프로그래머스 : PYTHON] 약수의 합 (0) | 2021.06.05 |
Comments