Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

joyful

[Javascript] 배열 회전시키기 - 프로그래머스 본문

프로그래머스

[Javascript] 배열 회전시키기 - 프로그래머스

조이풀한 개발자 2024. 6. 13. 16:31

문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/120844

 

프로그래머스

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

programmers.co.kr

 

 

 

 

 

 

문제


 

 

 

 

풀이

방법1

function solution(numbers, direction) {
  let answer = [];
  if (direction === "right") {
    answer.push(numbers[numbers.length - 1]); //마지막 원소를 맨 앞 인덱스에 넣기
    for (let i = 0; i < numbers.length - 1; i++) {
      //그 뒤로 차례대로 원소 넣기
      answer.push(numbers[i]);
    }
  } else {
    for (let i = 1; i < numbers.length; i++) {
      answer.push(numbers[i]); //1번째 인덱스부터 차례대로 원소 넣기
    }
    answer.push(numbers[0]); //0번째 원소를 마지막 인덱스에 넣기
  }
  return answer;
}

 

 

방법2 (배열 메서드 이용)

function solution(numbers, direction) {
  if (direction === "right") {
    const n = numbers.pop(); //배열 마지막 원소
    numbers.unshift(n); //배열 맨 앞에 추가
  } else {
    const n = numbers.shift(); //배열 맨 앞 요소
    numbers.push(n); //배열 맨 끝에 추가
  }
  return numbers;
}

 

 

 


 

TIL

배열 메서드

push() : 배열 에 요소를 추가

pop()  : 배열 에 요소를 제거하고 그 요소를 반환

 

unshift()  : 배열 맨 요소를 추가

shift()  : 배열 맨 요소를 제거하고 그 요소를 반환