NIRVANA

[level 0] 자릿수 더하기 본문

Coding test(Python3)/Programmers

[level 0] 자릿수 더하기

녜잉 2024. 1. 16. 17:29

 

1. 문제

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

 

2. 문제 풀이 방법

def solution(n):
    
    num = list(map(int, list(str(n))))
    answer = sum(num)
    return answer

 

 


 

다른 문제 풀이 방법

1) 숫자를 10으로 나눈 나머지를 answer에 더한다.

2) n을 10으로 나눈 몫을 n으로 업데이트 한다. 

3) n이 0이 될 때 까지 해당 과정을 반복한다.

def solution(n):
    answer = 0
    while n:
        answer += n % 10
        n //= 10
        
    return answer

 

해당 과정을 divmod 함수를 사용해서 풀 수도 있다.

 

def solution(n):
    answer = 0
    while n:
        quo , rem = divmod(n, 10)
        answer += rem
        n = quo
        
    return answer

 

 

확실히 내가 푼 방법이 느리긴하다...ㅎ 

'Coding test(Python3) > Programmers' 카테고리의 다른 글

[level 2] 의상  (0) 2024.06.25
[level 2] 전화번호 목록  (0) 2024.06.24
[level 0] 문자열 계산하기  (0) 2024.01.15
[level 2] 귤 고르기  (0) 2023.11.13
[level 2] 멀리 뛰기  (1) 2023.11.12