https://programmers.co.kr/learn/courses/30/lessons/12931
문제
- 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
입출력 예시
N(입력) | answer(출력) |
123 | 6 |
987 | 24 |
코드
def solution(n):
answer = 0
while True:
if n == 0:
break
mod = n % 10
answer += mod
n = n // 10
return answer
코드해석
입력된 자연수를 10으로 나눈 몫과 나머지로 문제를 풀었다.
만약 567이 입력이 되었을 때 10으로 나누게 된다면 몫은 56 나머지는 7이나오게 된다.
이후 56을 10으로 나누게 되면 몫은 5 나머지는 6으로 나뉜다.
이후 5를 10으로 나누게 되면 몫은 0 나머지는 5로 나뉜다.
이처럼 몫이 0이 될 때 까지 10으로 나누어 지금까지 나온 나머지를 더하게 되면 각 자리수의 합이 되게 된다.
'Programmers > Level 1' 카테고리의 다른 글
[Programmers] Level 1 - 직사각형 별찍기 파이썬 (0) | 2021.09.15 |
---|