level 1. 자릿수더하기
06 Mar 2017 | 알고리즘 프로그래밍level 1. 자릿수더하기
문제
sum_digit함수는 자연수를 전달 받아서 숫자의 각 자릿수의 합을 구해서 return합니다. 예를들어 number = 123이면 1 + 2 + 3 = 6을 return하면 됩니다. sum_digit함수를 완성해보세요.
풀이 (python)
# 풀이1
def sum_digit(number):
result = 0
for i in str(number):
result += int(i)
return result
# 풀이2
def sum_digit(number):
from functools import reduce
return reduce(lambda x,y:int(x)+int(y), str(number))
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : {}".format(sum_digit(123)));
다른사람 풀이
def sum_digit(number):
return sum([int(i) for i in str(number)])
# map 활용
def sum_digit(number):
return sum(map(int, str(number)))
배운점
- for in 반복문은 iterable한 오브젝트만 대상으로 할 수 있다.
- int()를 통해서 string을 정수로 변환한다.