프로그래머스 · 배열 뒤집기
문제
정수 배열 num_list가 주어진다(길이 1 이상 1,000 이하, 원소는 0 이상 1,000 이하). 원소의 순서를 거꾸로 뒤집은 배열을 반환한다. 예를 들어 [1, 2, 3, 4, 5]는 [5, 4, 3, 2, 1]이다.
풀이
리스트의 reverse() 메서드로 순서를 뒤집고 그 리스트를 반환한다.
def solution(num_list):
num_list.reverse()
return num_list짚고 갈 점
비슷한 기본 기능으로 reversed()가 있다. reverse()는 리스트 자체를 바꾸고, reversed()는 뒤에서부터 값을 꺼내 줄 뿐 원본은 바꾸지 않는다.
list_a = ['a', 'b', 'c']
# 1. reverse() : 원본을 직접 변경
list_a.reverse()
print(list_a) # ['c', 'b', 'a']
# 2. reversed() : 반복문 등에서 역순으로 꺼낼 뿐 원본은 그대로
list_b = ['a', 'b', 'c']
for item in reversed(list_b):
print(item) # c, b, a 순서로 출력
print(list_b) # ['a', 'b', 'c']참고로 reverse() 자체는 None을 반환하므로, 풀이처럼 뒤집은 뒤 리스트를 따로 반환해야 한다.