🗃️javascript

순서 바꾸기(js, Lv.0)[splice와 인터프리터로 pop, push없이 순환시키기]

하얀성 2024. 7. 10. 14:00

정수 리스트 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]가 됩니다.

<정답>

 

-요소 제거-

splice(시작 인덱스, 시작 인덱스 포함 빼줄 갯수)

ex) var removed = myFish.splice(0, 2)

 

제거한 요소를 담은 배열 반환. 하나의 요소만 제거한 경우 길이가 1인 배열을 반환합니다. 아무 값도 제거하지 않았으면 빈 배열을 반환합니다.

 

-요소 제거 후, 그 자리에 추가-

splice(시작 인덱스, 시작 인덱스 포함 빼줄 갯수, 추가내역들)

ex) var removed = myFish.splice(0, 2, "parrot", "anemone", "blue");

function solution(num_list, n) {
    let outNums = num_list.splice(0,n)
    return [...num_list, ...outNums];
}

 

Lv.2 정도 올라가면 pop의 사용은 지양됨으로 이런식으로 다르게 만드는 법을 연습해보는게 좋다.