[프로그래머스][파이썬] 자릿수 더하기 - 수학 (Level 0)

뻥튀기아이스크림·2025년 3월 20일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120906

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(n):
    answer = 0
    
    n_string = str(n)
    for i in n_string:
        answer += int(i)
        
    return answer
  • 정수 n 을 문자열로 변환하고, 맨 앞자리부터 정수로 다시 바꾸어 더했다.

◽ 다른 사람 풀이

def solution(n):
    answer = 0
    
    while n:
        n, r = divmod(n, 10)
        answer += r
        
    return answer
  • 수학적으로는 이 풀이가 정답인것 같다.
  • 각 자리수별로 나누고 남은 값을 또 n 에 대입하여 n0 (False) 가 될 때까지 반복하며 더한다.

◽ 더 나아가기

  • 정수와 실수 변환에서는 오차 문제가 있지만 정수에서 문자열로 변환할 때는 문제가 없으니 둘 다 좋은 풀이인것 같다.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글