본문 바로가기
Algorithm/Programmers Lv.1

프로그래머스 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 ( reverse( ) / reversed( ) 함수 )

by newnu 2020. 9. 29.
반응형

문제 설명

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

 

제한 조건

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

입출력 예

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

#내 풀이

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

#다른 사람의 풀이

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)));

 

1. reverse()

reverse()는 list의 함수로 list 그 자체를 변경

list_ex =[1,2,3,4,5]
list_ex.reverse()

print(list_ex)
# [5,4,3,2,1]

 

2. reversed()

reversed() 는 파이썬의 내장함수로 원래 자료형을 변경하지 않음.

reversed() 함수는 이터레이터 형식의 객체가 리턴 된다.

list() 함수를 이용하여 리스트로 형변환

list_ex2 = [1,2,3,4,5]
list_reversed = list(reversed(list_ex2))

print(list_ex2)   # [1,2,3,4,5]
print(list_reversed) # [5,4,3,2,1]
반응형