코딩테스트 연습 - 자릿수 더하기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
N의 범위 : 100,000,000 이하의 자연수
입출력 예
n | answer |
123 | 6 |
987 | 24 |
풀이
아이디어: 숫자는 인덱싱이 안되기 때문에, 이를 문자열로 바꿔주어 한 자리씩 가져온 뒤 숫자로 바꾸고 더해주기
# 풀이1
def solution(n):
answer = 0
for i in str(n):
answer += int(i)
return(answer)
-> for 문을 사용해서 str로 바꾼 n을 한자리씩 가져오고, 다시 int로 바꾼 다음에 합 구하기
# 풀이2
def solution(n):
str_n=[x for x in str(n)]
answer = sum(list(map(int,str_n)))
return(int(answer))
리스트 컴프리헨션과 map 함수 사용.
-> 리스트 컴프리헨션으로 str로 바꾼 n을 리스트로 모아주고, map 함수를 이용해서 이들 str_n 전체에 int()함수를 다시 씌워줬다. 이후 sum()으로 합해주면 끝
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 Lv.1] x만큼 간격이 있는 n개의 숫자 (Python) (0) | 2024.07.08 |
---|---|
[프로그래머스 Lv.1] 약수의 합 (Python) (0) | 2024.07.08 |
[프로그래머스 Lv.0] 짝수의 합 (Python) (0) | 2024.07.08 |
[프로그래머스 Lv.1] 숫자 문자열과 영단어 (Python) (0) | 2024.07.04 |
[프로그래머스 Lv.1] 최소직사각형 (Python) (0) | 2024.07.02 |