[프로그래머스][LV.1] 자연수 뒤집어 배열로 만들기 | python3
2025. 1. 16. 11:18ㆍ프로그래머스/LV.1
문제 링크: 자연수 뒤집어 배열로 만들기
문제 설명
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한사항
- n은 10,000,000,000이하인 자연수입니다.
문제 풀이
일의 자리부터 역으로 뒤집는 것이기 때문에 10으로 나눈 나머지와 몫을 활용했다. 나머지를 리스트에 넣고 몫은 다음에 계산할 수가 된다. n이 10보다 작아지면 while문을 빠져나온다.
재귀함수로 풀어보고 싶었는데 실패했다. 한 번 알아봐야 겠다.
내코드
def solution(n):
answer = []
while True:
if n<10:
answer.append(n)
break
answer.append(n%10)
n//=10
return answer
더보기
다른사람풀이
def digit_reverse(n):
return list(map(int, reversed(str(n))))
reversed 함수 활용. 문자열에 활용하는 함수인 것 같다.
♣ map 함수
- 반복 가능한 객체(iterable)의 각 요소에 대해 특정 함수를 적용한 결과를 반환하는 맵 객체(map object)를 생성
map 함수의 기본 구조
map(function, iterable)
- function: 반복 가능한 객체의 각 요소에 적용할 함수입니다.
- iterable: 반복 가능한 객체(예: 리스트, 튜플, 문자열 등).
map은 입력으로 주어진 함수(function)를 반복 가능한 객체(iterable)의 모든 요소에 차례대로 적용하고, 결과를 반환합니다.
def digit_reverse(n):
return [int(i) for i in str(n)][::-1]
인덱스 슬라이싱을과 for문을 활용해서 깔끔하게 코드를 작성했다.
'프로그래머스 > LV.1' 카테고리의 다른 글
[프로그래머스][LV.1] 정수 내림차순으로 배치하기 | python3 (0) | 2025.01.16 |
---|---|
[프로그래머스][LV.1] 정수 제곱근 판별 | python3 (0) | 2025.01.16 |
[프로그래머스][LV.1] 두 정수 사이의 합 | python3 (0) | 2025.01.16 |
[프로그래머스][LV.1] 나누어 떨어지는 숫자 배열 | python3 (0) | 2025.01.16 |
[프로그래머스][LV.1] 문자열 내 p와 y의 개수 | python3 (0) | 2025.01.15 |