자릿수 더하기 - Python
2023. 10. 5. 23:26ㆍ공부/📝 프로그래머스
def solution(n):
return sum([int(str(n)[i]) for i in range(len(str(n)))])
# Test Cases
print(solution(123))
print(solution(987))
연습문제에서는 위와 같이 풀었습니다.
def solution(n):
answer = 0
for item in str(n):
answer += int(item)
return answer
# Test Cases
print(solution(1234))
print(solution(930211))
코딩테스트 입문에서는 위와 같이 풀었습니다.
# 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
def sum_digit(number):
'''number의 각 자릿수를 더해서 return하세요'''
if number < 10:
return number
return number%10 + sum_digit(number//10)
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : {}".format(sum_digit(123)));
그런데 재귀함수로 멋있게 푼 다른 사람의 풀이를 발견했습니다.
- 프로그래머스 코딩테스트 입문: https://school.programmers.co.kr/learn/courses/30/lessons/120906
'공부 > 📝 프로그래머스' 카테고리의 다른 글
문자열 내 p와 y의 개수 - Python (0) | 2023.10.06 |
---|---|
자연수 뒤집어 배열로 만들기 - Python (0) | 2023.10.06 |
x만큼 간격이 있는 n개의 숫자 - Python (0) | 2023.10.05 |
평행 - Python (0) | 2023.10.02 |
옹알이 (1) - Python (0) | 2023.10.02 |