What I Learned/Algorithm Practice

[programmers - python] Lv.1: 자릿수 더하기

Interrobang 2022. 11. 23. 10:22

문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

1) 수학적 접근

def solution(n):
    answer = 0
    length = len(str(n))
    for i in range(1, length + 1):
        print(i, length)
        m = n // 10 ** (length - i)
        n -= 10 ** (length - i) * m
        answer += m
    return answer

2) 자료형, map 함수 활용한 접근

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

자릿수 더하기 입출력 테스트

 

*key point: 자릿수 값을 얻기 위해서는 // 연산을 이용하여 몫을 얻어 이용하는 방법이 직관적이다. 하지만 입력값을 문자열 ----map함수----> 리스트로 바꾸어가며 각 자리수가 들어간 리스트를 만들어 쉽게 더하는 것도 가능하다.