Test/Python(20220101~)

프로그래머스.L0.자릿수더하기

kiostory 2022. 10. 11. 20:30

문제 설명

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요


제한사항
  • 0 ≤ n ≤ 1,000,000

 

입출력 예
n  :  result
1234 10
930211 16

입출력 예 설명

입출력 예 #1

  • 1 + 2 + 3 + 4 = 10을 return합니다.

입출력 예 #2

  • 9 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다.

 

* 첫 번째 생각

def solution(n):
    answer = 0
    a=str(n)
    for i in range(len(a)):
        answer += int(a[i]) 
    return answer

숫자를 문자열로 바꾸고(str())

그 길이만큼 돌면서 각 라인의 문자를 숫자화(int)해서 더함

 

* 두 번째 생각

def solution(n):
    answer = 0
    #while n%10 > 0:  #이러면 숫자사이 0 이 있을때 로직 bug
    while n>0:
        answer += n%10
        n = n//10
    return answer

% : 나눈 나머지

// : 나눈 몫