문제
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
요구사항
정수 리스트 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 n result [2, 1, 6] 1 [1, 6, 2] [5, 2, 1, 7, 5] 3 [7, 5, 5, 2, 1]
내가 생각한 로직
1. slice를 이용해서 배열의 n번째부터 마지막까지를 잘라낸 배열을 만든다.
2. slicee를 이용해서 배열의 0번째부터 n번째 전까지를 잘라낸 배열을 만든다.
3. spread operator을 이용해서 하나의 배열로 합친다.
내가 구현한 코드
function solution(num_list, n) {
const arr1 = num_list.slice(n);
const arr2 = num_list.slice(0, n);
return [...arr1, ...arr2];
}
다른 해결방법
사용한 도구: splice(), push()
function solution(num_list, n) {
num_list.push(...num_list.splice(0, n));
return num_list
}
function solution(num_list, n) {
num_list.unshift(...num_list.splice(n));
return num_list;
}
splice를 이용해서 기존 배열의 0번째부터 n번째 전까지를 삭제한 뒤에, 삭제한 배열을 다시 뒤쪽에 넣어줬다.
splice를 이용하면 slice와 다른게 기존의 배열을 수정한다.
반응형
'Algorithm > 프로그래머스: 기초 트레이닝' 카테고리의 다른 글
[프로그래머스] l로 만들기 (Javascript) (0) | 2025.02.20 |
---|---|
[프로그래머스] 마지막 두 원소 (Javascript) (1) | 2025.02.15 |
[프로그래머스] 공백으로 구분하기 2 (Javascript) (1) | 2025.01.30 |
[프로그래머스] 문자열 바꿔서 찾기 (Javascript) (1) | 2025.01.29 |
[프로그래머스] 배열의 원소만큼 추가하기 (Javascript) (1) | 2025.01.28 |