⊙ 코드카타
13) 문제 : 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
풀이 :
len으로 자연수 N의 갯수를 구한다는 합을 구하면 되지 않나?
def solution(n):
answer = 0
for i in str(n):
answer += int(i)
return answer
# 각자릿수의 누계를 구하는 문제 → 만약 answer += n으로 한다면 그냥 자연수N들의 누계가 됨
# str(n) : N을 한 덩어리로 인식해 자릿수의 합을 구할 수 없으므로 자릿수를 각각 인식할 수 있도록 각 글자를 문자로 쪼개서 인식시키는 과정
# str() : 문자로 바꾸는 함수
# str(n) - 각각 쪼갠 데이터를 i 라는 변수에 담는다
# answer += i 했을 때, '숫자' += '글자'로 인식 → N을 글자로 쪼개서 i에 담았기에 '글자'인 상태# '숫자' += '숫자'로 인식할 수 있게끔 int(i) 함수로 변환
# int() : 문자열을 숫자로 바꾸는 함수
# answer이란 빈 바구니에 i 변수의 누계를 담는다
def solution(n):
return sum(map(int, str(n)))
#파이썬 inside-out 방식 차용 : 가장 안→밖 코드 순으로 진행하는 방식 = 중첩 함수 호출
# map(함수, 반복 가능한 데이터)
# map : 마법 항아리# int : 마법 항아리에 내재된 마법
# str(n) : 마법 항아리에 들어갈 재료
# ① 재료(데이터)를 문자형태로 각각 쪼개서 넣는다
# ② 마법 항아리에서 쪼개진 재료(데이터)를 합을 구할 수 있게 숫자로 바꾼다
# ③ 마법 항아리 내 데이터를 sum코드 이용해 합한다
14) 문제 : 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
풀이 : (초기 생각) answer +=1 이런 함수가 들어갈 거 같은데? 함수로 구현하지 못함
def solution(n):
answer = 0
for i in range(1, n+1):
if n % i == 0:
answer += i
return answer
#1부터 n까지 범위데이터(range)를 i라는 변수에 담고
#정수n을 i라는 변수로 나눴을 때 나머지가 0이 되는 조건들을
#누적으로 더해서 answer이라는 =0 빈 바구니에 담는다
#answer이라는 바구니 값을 반환해라
'▷ 코드카타' 카테고리의 다른 글
| [내일배움캠프 _ QA/QC 5기] 16일차 _ 코드카타 17~20문항 (0) | 2026.03.30 |
|---|---|
| [내일배움캠프 _ QA/QC 5기] 15일차 _ 코드카타 15~16문항 (0) | 2026.03.27 |
| [내일배움캠프 _ QA/QC 5기] 13일차 _ 코드카타 10~12문항 (0) | 2026.03.25 |
| [내일배움캠프 _ QA/QC 5기] 12일차 _ 코드카타 9문항 (0) | 2026.03.24 |
| [내일배움캠프 _ QA/QC 5기] 11일차 _ 코드카타 6~8문항 (0) | 2026.03.23 |