일기/TIL

TIL: Today I Learned 61일차 [ 배열 회전시키기 ]

표자 2023. 2. 13. 09:54
728x90
반응형

1. 문제
프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 배열 회전시키기 ]

2. 시도해본 것들

뭐지 엄청 어려울것 같다라고 생각했다가

배열 공부했을때 맨앞 맨뒤에서 자유롭게 빼고 더할 수 있던것이 생각났다.

구글에 shift pop 을 검색하니 원하는 글이 나왔다.

 

push() = 배열 끝 추가

pop() = 배열 끝 제거

unshift() = 배열 첫 추가

shift() = 배열 첫 제거

 

3. 해결과정

입력은 right와 left만 받으니

if문이면 충분하고, 경우의 수는 2가지니

어떤 로직으로 결과값이 출력되는지 확인했다.

 

right는 맨끝에 있던애가 맨앞으로 오네?

left는 맨앞에 있던애가 맨뒤로 가네?

 

 

4. 알게 된 점

나의 코드

function solution(numbers, direction) {
    var answer = [];
    if(direction == "left"){
        var shift = numbers.shift();
        numbers.push(shift);
    } else{
        var pop = numbers.pop();
        numbers.unshift(pop);
    }
    return numbers;
}

 

 

 

남의 코드

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

변수선언 없이 깔끔하게 사용하는 방법!

 

728x90
반응형