Python 실습 | 자릿수 더하기

2025. 1. 6. 16:39·Python

문제 1.  자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


💡 문제 풀이 

`내 풀이`

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

 

`오답노트`

  • 이 문제를 이렇게 오래 걸려서 풀 줄이야🤦‍♀️ 처음에는 for 문을 써서 풀다가 계속 에러가 나서 구글링해서 map함수 발견함
  • `map함수` 리스트의 요소를 지정된 함수로 처리해주는 함수 (원본 리스트를 변경하지 않고 새 리스트 생성)
    • list(map(함수, 리스트))
    • tuple(map(함수, 튜플))
 

파이썬 코딩 도장: 22.6 리스트에 map 사용하기

이번에는 리스트에 map을 사용해보겠습니다. map은 리스트의 요소를 지정된 함수로 처리해주는 함수입니다(map은 원본 리스트를 변경하지 않고 새 리스트를 생성합니다). list(map(함수, 리스트)) tupl

dojang.io

# map 예시
a = [1.2, 2.5, 3.7, 4.6]
a = list(map(int, a))
a
'''
[1, 2, 3, 4]
'''
  • 원래 내가 풀고 싶었던 방법은 아래 풀이임. 다른 분들의 풀이를 보니 내가 막혔던 부분이 `재귀구조` 부분! 
    • n을 10으로 나눈 나머지가 1의 자리수고, n을 10으로 나눈 다음에 다시 10으로 나눈 나머지가 10의 자리수, ...의 흐름  
    • `파이썬 산술연산자` 
      • + (덧셈), - (뺄셈), * (곱셈), / (나눗셈)
      • ** (거듭제곱), // (몫), % (나머지)
def solution(n):
    if n < 10:
        return n
    return n%10 + solution(n//10)  # 여기서 자기자신을 호출해 사용하는 재귀구조

(~˘▾˘)~ 고생해서 성공하면 더 짜릿한 법

 

'Python' 카테고리의 다른 글
  • Python 실습 | 약수의 합
  • 통계 공부 | 통계학 기초 개념, 파이썬으로 구하는 방법
  • Python 실습 | 문자열 데이터 딕셔너리로 변환
  • Python 실습 | 데이터 조회, 정렬, 조건 필터 / 데이터 합치기 / iris 데이터 활용 / 삼성전자 주가 데이터 처리
초담
초담
4년차 마케터입니다
  • 초담
    그로스마케터의 기록
    초담
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (117)
      • Data Analytics Project (3)
      • SQL (55)
      • Python (43)
      • GA4 (0)
      • Tableau (8)
      • 아티클 스터디 (7)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
초담
Python 실습 | 자릿수 더하기
상단으로

티스토리툴바