자연수 뒤집어 배열로 만들기

문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

제한 조건

  • n은 10,000,000,000이하인 자연수입니다.

입출력 예

n return
12345 [5,4,3,2,1]

 

solution.py

def solution(n):
    digits = []
    while n > 0:
        digit = n % 10
        digits.append(digit)
        n //= 10
    return digits

 

아래는 프로그래머스에서 좋아요 많이 받은 코드들입니다 참고하시면 됩니다!

def digit_reverse(n):
    return list(map(int, reversed(str(n))))
def digit_reverse(n):
    # 함수를 완성해 주세요
    return [int(i) for i in str(n)][::-1]
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : {}".format(digit_reverse(12345)));

reverse, reversed, map 사용법을 아시면 응용 가능합니다!

 

간단하게 설명하면

 

reverse : 리스트의 원소 순서를 그 자리에서 역순으로 바꿉니다. (즉, 리스트의 순서를 바로 뒤집어 버립니다.)

* 원본 리스트가 변경됩니다!

 

reversed : 내장 함수이며, 리스트, 문자열, 튜플 등과 같은 반복 가능한(iterable) 객체에 적용할 수 있습니다.
객체의 원소 순서를 역순으로 하는 새로운 '반복자(iterator)'를 반환합니다.
* 원본 객체는 변경되지 않습니다.

 

map : 함수와 반복 가능한 객체를 인자로 받아, 주어진 함수를 반복 가능한 객체의 각 원소에 적용한 결과를 반환하는 함수입니다.

결과는 '맵 객체(map object)'로 반환되며, 이를 리스트나 다른 형태로 변환할 수 있습니다.

 

이 외에도 여러 방식으로 해결한 코드가 있으니 참고하시면 좋을 것 같습니다 ㅎㅎ

'코딩테스트 > 프로그래머스 문제' 카테고리의 다른 글

자릿수 더하기  (1) 2023.12.02
x만큼 간격이 있는 n개의 숫자  (0) 2023.12.01
평균 구하기  (0) 2023.11.28
약수의 합  (0) 2023.11.28
짝수와 홀수  (0) 2023.11.28