배열 회전시키기

반즈·2023년 12월 13일

프로그래머스 입문

목록 보기
41/51

문제 설명

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

입출력 예


자바

나의 풀이 (.equals())

class Solution {
    public int[] solution(int[] numbers, String direction) {
        int[] answer = new int [numbers.length];
        
        if(direction.equals("right") == true){
            answer[0] = numbers[numbers.length - 1];
            for(int i = 1; i < numbers.length; i++){
                answer[i] = numbers[i - 1];
            }
        } else {
            answer[numbers.length - 1] = numbers[0];
            for(int i = 0; i < numbers.length - 1; i++){
                answer[i] = numbers[i + 1];
            }
        }
        return answer;
    }
}

자바스크립트

나의 풀이

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

참고 풀이 (.shift(), .push(), .pop())

function solution(numbers, direction) {
    var answer = [];

    if ("right" == direction) {
        numbers.unshift(numbers.pop());
    } else {
        numbers.push(numbers.shift());
    }

    answer = numbers;

    return answer;
}
profile
나를 채우다

0개의 댓글