Algorithm/1일 1코테

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

대인보우 2020. 9. 23. 13:37
반응형

문제

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요.

예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

입출력 예시

 

내 답

def solution(n):
    n = str(n)
    answer = []
    
    for i in range(1, len(n)+1):
        a = int(n[-i])
        answer.append(a)
        
    return answer

 

알고리즘

n에서 거꾸로 뽑은 값 answer에 하나씩 append.

 

그런데 생각해보니까 파이썬 알고리즘 인터뷰에서 [::-1]이 있었다!!

 

내 답 2

def solution(n):
    n = str(n)
    answer = []
    
    for i in n:
        answer.append(int(i))
    answer = answer[::-1]
        
    return answer

근데 코드 길이는 거기서 거기인듯..ㅋ

 

 

다른사람 풀이

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

위의 코드를 이런 식으로 한줄로 구현할 수 있다!

 

다른사람 풀이2

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

str(n)값을 reversed로 정렬한 값을 int로 map --> list 구현

걍 천재~~~~~~~~~~~~~~~~~

 

 

 

반응형