list, map, int, str

Created by
  • 서경태
Created at
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
str : 정수를 문자열로 바꿔준다.
str(345) → 숫자가 아닌 문자로 인식한다.
그러므로, str(345) - 2 = 문자 - 숫자
map(function, iterable)
function : iterable의 각 요소에 적용할 함수.
iterable : 반복 가능한 객체(리스트, 튜플 등)
map은 반복해서 함수를 적용하는 구문이다.
map(int, str(n))이라고 쓰면, 문자로 바뀐 숫자n을 정수로 바꿔주는 함수다.
int : 문자를 정수로 바꿔준다.
list : 객체를 리스트로 변환한다.
a = "hello"
list_a = list(a)
print(list_a) = ['h', 'e', 'l', 'l', 'o']
처럼 각 객체를 리스트 바꿔준다.
다시 문제로 돌아와서, 정답은
def solution(n):
answer = list(map(int, str(n)))
return sum(answer)
n을 문자열로 바꿔주고 다시 정수로 바꾸주는 map 함수를 쓴다음 list로 각 자릿수를 객체로 만든다. 그리고 이 모두를 더하면 정답이 된다.