코딩테스트 입문 100문제(javascript) 48. 배열 회전시키기

2023. 7. 27. 14:46코딩 테스트 입문 100문제

728x90

배열 회전시키기

function solution(numbers, direction) {
    var answer = [];
    if (direction === "right") {
        const lastElement = numbers[numbers.length - 1];
        answer.push(lastElement);
        for (let i = 0; i < numbers.length - 1; i++) {
            answer.push(numbers[i]);
        }
        
    } else if (direction === "left") {
        const firstElement = numbers[0];
        for (let i = 1; i < numbers.length; i++) {
            answer.push(numbers[i]);
        }
        answer.push(firstElement);
    }
    return answer;
}


문제 설명
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.

제한사항
3 ≤ numbers의 길이 ≤ 20
direction은 "left" 와 "right" 둘 중 하나입니다.


입출력 예
numbers direction result
[1, 2, 3] "right" [3, 1, 2]
[4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4]


입출력 예 설명
입출력 예 #1
numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 return합니다.
입출력 예 #2
numbers 가 [4, 455, 6, 4, -1, 45, 6]이고 direction이 "left" 이므로 왼쪽으로 한 칸씩 회전시킨 [455, 6, 4, -1, 45, 6, 4]를 return합니다.