Post

Basic62 순서 바꾸기

문제: 순서 바꾸기

문제 설명

정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.


제한사항
  • 2 ≤ num_list의 길이 ≤ 30
  • 1 ≤ num_list의 원소 ≤ 9
  • 1 ≤ n ≤ num_list의 길이

입출력 예
num_listnresult
[2, 1, 6]1[1, 6, 2]
[5, 2, 1, 7, 5]3[7, 5, 5, 2, 1]

입출력 예 설명

입출력 예 #1

  • [2, 1, 6]에서 첫 번째 이후의 원소는 [1, 6]이고 첫 번째까지의 원소는 [2]입니다. 두 리스트를 이어 붙이면 [1, 6, 2]가 됩니다.

입출력 예 #2

  • [5, 2, 1, 7, 5]에서 세 번째 이후의 원소는 [7, 5]이고 세 번째까지의 원소는 [5, 2, 1]입니다. 두 리스트를 이어 붙이면 [7, 5, 5, 2, 1]가 됩니다.

Solution

하나의 배열을 0번째부터 n번째 까지의 배열과, n번째부터 끝까지의 배열 두개로 나눕니다. 그 후 같은 타입의 배열 + 배열은 두 배열을 하나로 합치는 특성을 이용해 문제를 풀었습니다.

1
2
3
4
5
6
import Foundation

func solution(_ num_list:[Int], _ n:Int) -> [Int] {
    
    return num_list[n...].map{$0} + num_list[0..<n].map{$0}
}