본문 바로가기

Algorithm/Javascript로 코테 준비하기

[JS로 코테 준비하기] 8. 프로그래머스 - 배열 회전시키기 (feat. shift, unshift)

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120844

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

배열 앞뒤에 요소를 넣고 뺄 수 있는, Deque의 기본 기능을 지원하는 JS 메소드를 알아보자.

deque

 

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

반응형