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

최준근·2021년 9월 29일
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 하면 됩니다.

생각하기

  1. 자연수 n을 각각 자리수로 분리하기
  2. 분리한 수들을 더해서 정답리턴

내 코드

def solution(n):
    ans = 0
    n = list(str(n))
    for i in n:
        ans += int(i)
    return ans

먼저 n = list(str(n))을 사용하여 바꾸었다 하지만 int 형식으로 다시 바꾸어 줘야 하기 때문에 무식한 방법인 포문으로 문제를 풀었다.

다른 사람의 코드

return sum(map(int, str(n)))

map 함수를 잊고 있었다. 다시 복기하자
map 함수는 map(f, iterable) 각 요소가 f에 의해 수행된 결과를 반환하는 값.
str(n)의 각 요소가 int에 의해 형변환이 이루어지고 그 값들을 sum으로 더하기

profile
느려도 좋으니 꾸준하게

0개의 댓글