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함수----> 리스트로 바꾸어가며 각 자리수가 들어간 리스트를 만들어 쉽게 더하는 것도 가능하다.