1. quiz
- 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
2. answer
def solution(n):
return sum(int(c) for c in str(n))
3. 다른 사람의 풀이
def solution(n):
answer = 0
while n:
n, r = divmod(n, 10)
answer += r
return answer
- 정석 풀이는 위와 같다고 생각한다.
- n을 10으로 계속 나눠가며 나머지를 더한다. 즉, 만약 n이 100이라면 10으로 나눴을 때 나머지는 0이다. 그 후 몫이 n이 되므로 10을 10으로 나누면 나머지가 0이고, 몫이 1이 된다. 1을 10으로 나누면 나머지가 1이 되므로 answer는 0 + 0+ 1 -> 1이 된다.
- 나는 단순히, n을 문자형으로 바꾼 후 하나하나 값을 int로 변환하여 합하였다.