문제 설명
- 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
입출력 예시
아이디어
int로 입력된 n의 자릿수를 표현할 수 있는 방법 > 10의 n제곱수를 이용해서 표현하자
내 풀이
def solution(n): answer = 0 for i in range(len(str(n)),0,-1): a = n//(10**(i-1)) n = n%(10**(i-1)) answer = answer + a return answer
추가 개념
- split('구분자', '구분 횟수')
- range(a,b) : a이상 b미만으로 생각.
range(a,b,c) : c가 a에서 b까지의 간격으로 생각- 입력 값의 범위가 0~1000000으로 정해져있으므로, 값 내에서 10의 n제곱수를 반복시킨 후 나눴을 때의 몫이 0일 때를 기준으로 구분할 수 있음.
다른 사람의 풀이
def solution(n): answer = sum(list(map(int,list(str(n))))) return answer
str type에서 list(something)을 하면 하나하나 list로 변경 가능, list의 각 값을 다시 int로 mapping시킨 후 list의 합 구하기.