코딩테스트 연습 - 자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출
programmers.co.kr
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
N의 범위 : 100,000,000 이하의 자연수
N | answer |
123 | 6 |
987 | 24 |
1
2
3
4
5
6
|
def solution(n):
answer = 0
n = [int(i) for i in str(n)]
for i in range(len(n)):
answer += n[i]
return answer
|
cs |
입력된 숫자를 int로 변환하여 리스트로 만든 후, 만든 리스트를 for 문을 돌려서 한 숫자씩 answer에 더한다.
1
2
|
def solution(number):
return sum([int(i) for i in str(number)])
|
cs |
위의 코드 처럼 입력 받은 숫자를 int로 변환 후 곧바로 sum에 넣으면 곧바로 합이 나온다.
1
2
3
4
|
def solution(number):
if number < 10:
return number;
return (number % 10) + solution(number//10)
|
cs |
재귀 함수 방식으로 만든 답이다.
4번째 줄 : 10으로 나눈 몫을 재귀 함수로 돌리고 10으로 나누었을 때의 나머지를 더한다.
3번째 줄 : 10으로 나눠진 숫자가 10보다 작을 때 재귀 함수를 탈출한다.
[프로그래머스/Level1/파이썬3] 약수의 합 (0) | 2020.10.25 |
---|---|
[프로그래머스/Level1/파이썬3] 행렬의 덧셈 (0) | 2020.10.22 |
[프로그래머스/Level1/파이썬3] 같은 숫자는 싫어 (0) | 2020.10.20 |
[프로그래머스/Level1/파이썬3] 소수 찾기 (0) | 2020.10.13 |
[프로그래머스/Level1/파이썬3] 문자열 내 p와 y의 개수 (0) | 2020.10.12 |