
기본 코드
def solution(n):
answer = 0
return answer
스캐치
- 주어진 자연수 n을 문자열로 바꿔서 반복문으로 빈 리스트에 int형태로 append해주고 합을 answer에 리턴하자.
코드 풀이(1)
def sum_digit(n):
answer = 0
n_list = []
for i in str(n) : # 문자열도 인덱싱이 가능한 itarable한 객체
n_list.append(int(i))
answer = sum(n_list)
return answer
# 리스트의 모든 원소 더하기 - sum()
# 테스트로 출력해 보기 위한 코드
print(sum_digit(123)) # 6
코드 풀이(2)
def sum_digit(n):
answer = 0
for i in str(n) :
answer = answer + int(i)
return answer
# 생각해보니 굳이 리스트에 안 넣어도 되는구나..
코드 풀이(3)
def sum_digit(n):
answer = 0
for i in range(len(str(n))):
answer = answer + int(str(n)[i])
return answer
코드 풀이(4)
def sum_digit(n):
return sum(map(int,str(n)))
# map(함수,iterable한 데이터) 함수 : iterable한 데이터를 인자로 받아 list 안의 개별 요소를 함수의 인자로 전달하여 결과를 list로 형태로 반환해 주는 함수
# 테스트로 출력해 보기 위한 코드
print(map(int,str(123)))
# <map object at 0x00000233F0BEAC50>
print(list(map(int,str(123))))
# [1, 2, 3]