[파이썬 정복기] level 1 - 자릿수 더하기

_칟닌·2021년 12월 29일
0

프로그래머스

목록 보기
1/15
post-thumbnail

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


❗제한사항

  • N의 범위 : 100,000,000 이하의 자연수

💡아이디어
1. 숫자를 문자열 자료형으로 변경
2. 문자의 각 자릿수 길이만큼 for문을 돌리기 위해 숫자의 길이를 구함
3. 자릿수의 길이만큼 for문을 돌리면서 각 자리의 수를 sum에 더하고 더하고 나머지 수를 n에 갱신
4. sum의 최종값을 return


⌨️ 나의 해답

def solution(n) :
    a = str(n)
    b = int(len(a))
    sum = 0
    
    for i in range(1, b+1) :
        c = n // 10 ** (b-i)
        sum += c
        n = n % 10 ** (b-i)
    
    return sum

모든 테스트 케이스를 통과해서 한번에 테스트 100점을 받았지만 코드가 마음에 안든다
중복되는 코드도 있고 갈끔하고 간결한 코드는 아니라고 생각하기 때문이다

profile
성장하는 대학생 개발자🙋‍♀️

0개의 댓글