최대 1 분 소요

1. 문제

[level 1] 자릿수 더하기 - 12931

문제 링크

성능 요약

메모리: 10.3 MB, 시간: 0.02 ms

구분

코딩테스트 연습 > 연습문제

채점결과


정확성: 100.0
합계: 100.0 / 100.0

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항
  • N의 범위 : 100,000,000 이하의 자연수

입출력 예
N answer
123 6
987 24
입출력 예 설명

입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 리스트에 문자열형태로 하나씩 받은 이후 해당 리스트내의 문자를 정수로 받아 계산한다.

5. 다른 풀이방식

  1. 생각해보니 컴프리핸션을 보다 쉽게 풀 수 있다.
    def solution(n):
     answer = 0
     result = [i for i in str(n)]
     for i in result: answer += int(i)
     return answer
    
  2. 더더 쉽게 푸는 방법도 있다.
    def solutino(n):
     return sum([int(i) for i in str(n)])
    
    • 다시 풀어보니까 문자열중 숫자로 받은 값을 바로 sum()으로 다 더해버리면 훨씬 빠르고 쉽다.