[프로그래머스][LV.1] 자릿수 더하기 | python3
2025. 1. 15. 11:45ㆍ프로그래머스/LV.1
문제 링크: 자릿수 더하기
문제 설명
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
문제 풀이
수를 문자열로 변환 후 한글자씩 루프돌려서 정수로 변환 후 더했다.
내코드
def solution(n):
answer = 0
n=str(n)
for s in n:
answer+=int(s)
return answer코드
더보기
다른사람풀이
def sum_digit(number):
'''number의 각 자릿수를 더해서 return하세요'''
if number < 10:
return number
return number%10 + sum_digit(number//10)
재귀함수를 이용하여 푼 풀이라고 한다.
각 자리의 수는 결국 123 이라고 하면 1은 123//10**2를 해서 얻을 수 있다.
일의 자리는 10으로 나눈 나머지 이니 이건 따로 써주고 number를 10으로 나눈 수가 10보다 작아지기 전까지 계속 number // 10을 계속 해서 일의 자리만 더한다.
이런 생각을 하고 코드를 짤 수 있다는 게 대단하다. 이런 사고방식을 배우기 위해 가지고 왔다.
def sum_digit(number):
return sum([int(i) for i in str(number)])
이건 한 줄 코드라 가지고 옴
'프로그래머스 > LV.1' 카테고리의 다른 글
[프로그래머스][LV.1] x만큼 간격이 있는 n개의 숫자 | python3 (0) | 2025.01.15 |
---|---|
[프로그래머스][LV.1] 평균 구하기 | python3 (0) | 2025.01.15 |
[프로그래머스][LV.1] 짝수와 홀수 | python3 (0) | 2025.01.15 |
[프로그래머스][LV.1] 약수의 합 | python3 (0) | 2025.01.15 |
[프로그래머스][LV.1] 문자열을 정수로 바꾸기 | python3 (0) | 2025.01.15 |