Algorithm/Programmers

[프로그래머스 Level 0] 배열 뒤집기(Python)

씨주 2024. 5. 17. 14:59

📝 Level 0. 배열 뒤집기

더보기

📌 문제 설명

 

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.

 

📌 제한사항

  • 1 ≤ num_list의 길이 ≤ 1,000
  • 0 ≤ num_list의 원소 ≤ 1,000

📌 입출력 예

num_list result
[1, 2, 3, 4, 5] [5, 4, 3, 2, 1]
[1, 1, 1, 1, 1, 2] [2, 1, 1, 1, 1, 1]
[1, 0, 1, 1, 1, 3, 5] [5, 3, 1, 1, 1, 0, 1]

📌 입출력 예 설명

입출력 예 #1
num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다.


입출력 예 #2
num_list가 [1, 1, 1, 1, 1, 2]이므로 순서를 거꾸로 뒤집은 배열 [2, 1, 1, 1, 1, 1]을 return합니다.


입출력 예 #3
num_list가 [1, 0, 1, 1, 1, 3, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 3, 1, 1, 1, 0, 1]을 return합니다.

 

✏️ 나의 풀이

def solution(num_list):
    answer = []
    for i in range(len(num_list)-1, -1, -1):
        answer.append(num_list[i])
    return answer

 

  • global은 봤는데 nonlocal은 처음 본 것 같다.
  • 트리 끝까지 탐색한 후 답을 구해내는 방식(DFS)

 

✏️ 다른 풀이(1)

def solution(num_list):
    return num_list[::-1]

 

✏️ 다른 풀이(2)

def solution(num_list):
    result =[]
    while(num_list):
        result.append(num_list.pop())
    return result

✏️ 다른 풀이(3)

def solution(num_list):
    num_list.reverse()
    return num_list

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/120821

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr