Algorithm/Javascript로 코테 준비하기
[JS로 코테 준비하기] 8. 프로그래머스 - 배열 회전시키기 (feat. shift, unshift)
zeo.y
2022. 12. 24. 17:30
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/120844
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
배열 앞뒤에 요소를 넣고 뺄 수 있는, Deque
의 기본 기능을 지원하는 JS 메소드를 알아보자.
1. shift()
pop_front()
와 같은 역할- 배열의 첫 번째 요소를 제거하고, 제거된 요소를 반환
const arr = [1, 2, 3];
const e = arr.shift();
console.log(e); // 1
console.log(arr); // [2, 3]
2. unshift()
push_front()
와 같은 역할- 배열의 맨 앞쪽에 새로운 요소를 추가하고, 새로운 길이를 반환
const arr = [1, 2, 3];
const e = arr.unshift(4, 5);
console.log(e); // 5 (arr의 length)
console.log(arr); // [4, 5, 1, 2, 3]
3. push()
push_back()
과 같은 역할- 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환
const arr = [1, 2, 3];
const e = arr.push(4, 5);
console.log(e); // 5 (arr의 length)
console.log(arr); // [1, 2, 3, 4, 5]
4. pop()
pop_back()
과 같은 역할- 배열의 마지막 요소를 제거하고, 제거된 요소를 반환
const arr = [1, 2, 3];
const e = arr.pop();
console.log(e); // 3
console.log(arr); // [1, 2]
소스 코드
function solution(numbers, direction) {
if(direction === "right")
numbers.unshift(numbers.pop());
else
numbers.push(numbers.shift());
return numbers;
}
reference
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/push
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/pop
반응형