2020. 5. 7. 17:39

[python](프로그래머스)자연수 뒤집어 배열로 만들기

문제 설명


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

 

제한 조건


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

 

문제 풀이


def solution(n):
    return list(reversed([int(i) for i in str(n)]))

문자열로 바꾼 n에서 한 글자씩 뽑아서 리스트로 만든 것을 넣은 순서 반대로 만드는 reversed로 sorted(reverse=True)가 아니라 넣은 순서 반대로 바꿔준다. sorted는 정렬을 해주는 함수이니 유의할 것

 

다른 풀이


def digit_reverse(n):
    return list(map(int, reversed(str(n))))

map은 리스트의 요소를 지정된 함수로 처리해주는 함수이다. list(map(함수, 리스트))형식으로 사용되며 reversed된 n이 다시 int로 바꿔주는 걸 묶은 것이다. 이를 list로 변환해서 돌려준다.

def digit_reverse(n):
    return [int(i) for i in str(n)][::-1]

[::-1]은 처음부터 끝까지 역순으로 배열을 만든다.