프로그래머스_LV.0_자릿수 더하기

Dreamer ·2022년 12월 6일
0

코딩테스트 준비

목록 보기
22/93

1. quiz

  • 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

2. answer

def solution(n):
    return sum(int(c) for c in str(n))

3. 다른 사람의 풀이

def solution(n):
    answer = 0
    while n:
        n, r = divmod(n, 10)
        answer += r
    return answer
  • 정석 풀이는 위와 같다고 생각한다.
  • n을 10으로 계속 나눠가며 나머지를 더한다. 즉, 만약 n이 100이라면 10으로 나눴을 때 나머지는 0이다. 그 후 몫이 n이 되므로 10을 10으로 나누면 나머지가 0이고, 몫이 1이 된다. 1을 10으로 나누면 나머지가 1이 되므로 answer는 0 + 0+ 1 -> 1이 된다.
  • 나는 단순히, n을 문자형으로 바꾼 후 하나하나 값을 int로 변환하여 합하였다.
profile
To be a changer who can overturn world

0개의 댓글