자연수 뒤집어 배열로 만들기
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요.
예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
- n은 10,000,000,000이하인 자연수입니다.
입출력 예
n | return |
---|---|
12345 | [5,4,3,2,1] |
풀이
첫 번째 풀이
def solution(n):
list = []
while n > 0:
list.append(n % 10)
n = n // 10
return list
자연수를 뒤집는 방법은 n의 일의 자리를 뽑아내서 배열에 집어넣는 방식으로 구현하면 됩니다.
동일한 원리를 풀이한 문제가 있습니다. 상세 풀이는 아래 문제를 확인해 주세요.
알고리즘 > 프로그래머스 > Lv.1 > 자릿수 더하기
두 번째 풀이
def solution(n):
return [int(i) for i in str(n)[::-1]]
두 번째 풀이 방법은 리스트 컴프리헨션으로 풀어봤습니다.
원리는 다음과 같습니다.
- 정수를 str() 함수로 문자열로 변환한다.
- [::-1] 리스트 슬라이싱으로 문자열을 거꾸로 뒤집는다.
- 리스트 컴프리헨션으로 뒤집은 문자열의 문자를 하나씩 꺼내서 새로운 배열을 만든다.