level 1. 자릿수더하기

|

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을 정수로 변환한다.