본문 바로가기
우코딩 코딩테스트 일기/JavaScript 코딩테스트 100일 챌린지 (Lv. 0)

JavaScript 알고리즘 100일 챌린지 16번째

by 민우's 코딩 2024. 5. 31.

배열 회전시키기

 

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

 

프로그래머스

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

programmers.co.kr

 

function solution(numbers, direction) {
    if (direction == "right") {
        numbers = [numbers.pop(), ...numbers]
    } else {
        numbers = [...numbers.slice(1), numbers.shift()]
    }
    return numbers;
}

 

 

'right'로 회전시키는 경우

pop으로 마지막 원소를 제거함과 동시에 그 원소를 맨 앞으로 추가.

 

'left'로 회전시키는 경우

slice(1)을 통해 첫 번째 원소를 제거함과 동시에 그 원소를 맨 뒤에 추가.

 

 

solution([1, 2, 3], "right");       // [3, 1, 2]

solution([1, 2, 3], "left");         // [2, 3, 1]