문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예
N | answer |
123 | 6 |
987 | 24 |
Solution
1
2
3
4
5
|
def solution(n):
answer = 0
for i in str(n):
answer += int(i)
return answer
|
cs |
코드해석
입력받은 정수 n을 str 함수를 사용하여 문자형으로 변환합니다. 잘 쪼개졌는지 확인해보기 위해 다음을 실행해봤습니다.
정수를 쪼갠 후 출력한 1, 2, 3, 4, 5는 문자형입니다. 이들을 더해주기 위해 int 함수를 사용하여 정수형으로 변환하고 합합니다.
다른 사람의 풀이
1
2
|
def solution(n):
return sum([int(i) for i in str(n)])
|
cs |
네 줄을 한 줄로 끝내버리는 멋있는 코드네요 흑흑 아직 배울 것이 너무 많다.. 마찬가지로 str 함수로 정수를 쪼개고, 쪼갠 정수를 int 함수로 정수형으로 변환하는데요, 이 정수들을 리스트의 원소로 받아서 sum으로 바로 합해줍니다.
'OLD > Coding Test' 카테고리의 다른 글
[프로그래머스] level 1 : 자연수 뒤집어 배열로 만들기 (0) | 2020.02.07 |
---|---|
[프로그래머스] level 1 : 이상한 문자 만들기 (0) | 2020.02.07 |
[프로그래머스] level 1 : 약수의 합 (0) | 2020.02.06 |
[프로그래머스] level 1 : 문자열 다루기 기본 (0) | 2020.02.06 |
[프로그래머스] level 1 : 문자열 내 p와 y의 개수 (0) | 2020.02.06 |