[코딩테스트] JavaScript/[코테] 프로그래머스

[프로그래머스 / JS ] Lv.0 / 181891 : 순서 바꾸기

jini-dev 2025. 1. 16. 09:02

순서 바꾸기(링크)

문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.
제한사항
  • 2 ≤ num_list의 길이 ≤ 30
  • 1 ≤ num_list의 원소 ≤ 9
  • 1 ≤ n  num_list의 길이
입출력 예
num_list  result
[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]가 됩니다.

 

문제 풀이

function solution(num_list, n) {
    const last = num_list.slice(0,n)
    const first = num_list.slice(n,num_list.length)
    return [...first,...last];
}

 

먼저 slice 메소드를 사용하여 first와 last 변수를 선언했다.

last 는 num_list 배열의 첫번째 인덱스 값 부터 n 번째까지의 값을 복사하여 저장하고,  first 는 n번째부터 마지막 인덱스 값까지 복사하여 저장한다.

반환값으로 first 의 배열 값과 last 의 배열 값을 스프레드 문법을 활용해 하나의 배열 값으로 반환한다.