[ 프로그래머스 ] 배열 회전시키기 ( JS )

2024. 6. 24. 23:51·Algorithm/Javascript

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

 

프로그래머스

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

programmers.co.kr

 


[ 문제 ]

 

[ 내 풀이 ]

function solution(numbers, direction) {
    let temp = '';
    
    if(direction === 'right'){
        // 배열의 마지막 요소를 temp에 저장
        temp = numbers[numbers.length - 1];
        // 배열의 마지막 요소를 제거
        numbers.pop();
        // temp에 저장한 값을 배열의 첫 번째 위치에 추가
        numbers.unshift(temp);
    } else {
        // 배열의 첫 번째 요소를 temp에 저장
        temp = numbers[0];
        // 배열의 첫 번째 요소를 제거하고 temp에 저장
        temp = numbers.shift();
        // temp에 저장한 값을 배열의 마지막 위치에 추가
        numbers.push(temp);
    }

    return numbers;
}

 

[ 다른 풀이 ]

function solution(numbers, direction) {
    // 결과를 저장할 빈 배열 선언
    var answer = [];

    // direction이 "right"일 경우
    if ("right" == direction) {
        // 배열의 마지막 요소를 제거하여 배열의 앞에 추가 (오른쪽 회전)
        numbers.unshift(numbers.pop());
    } else {
        // 배열의 첫 번째 요소를 제거하여 배열의 뒤에 추가 (왼쪽 회전)
        numbers.push(numbers.shift());
    }

    // answer에 변경된 배열 할당
    answer = numbers;
    return answer;
}
function solution(numbers, direction) {

  // direction이 "right"인 경우:
  return direction === "right"
    ? [
        // numbers 배열의 마지막 요소를 가져와서 배열의 첫 번째 위치에 추가
        numbers[numbers.length - 1],
        // numbers 배열의 첫 번째 요소부터 마지막 이전 요소까지를 잘라서 이어 붙임
        ...numbers.slice(0, numbers.length - 1)
      ]
    : [
        // direction이 "left"인 경우:
        // numbers 배열의 두 번째 요소부터 마지막 요소까지를 잘라서 배열의 앞에 붙임
        ...numbers.slice(1),
        // numbers 배열의 첫 번째 요소를 배열의 마지막 위치에 추가
        numbers[0]
      ];
}
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Javascript' 카테고리의 다른 글

[ 프로그래머스 ] 합성수 찾기 ( JS )  (0) 2024.06.28
[ 프로그래머스 ] 주사위의 개수 ( JS )  (0) 2024.06.26
[ 프로그래머스 ] 공 던지기 ( JS )  (0) 2024.06.24
[ 프로그래머스 ] 2차원으로 만들기 ( JS )  (0) 2024.06.22
[ 프로그래머스 ] 구슬을 나누는 경우의 수 ( JS )  (0) 2024.06.21
'Algorithm/Javascript' 카테고리의 다른 글
  • [ 프로그래머스 ] 합성수 찾기 ( JS )
  • [ 프로그래머스 ] 주사위의 개수 ( JS )
  • [ 프로그래머스 ] 공 던지기 ( JS )
  • [ 프로그래머스 ] 2차원으로 만들기 ( JS )
heee1
heee1
FE 개발자를 희망하는 임희원 입니다.
  • heee1
    heee1.blog
    heee1
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • Front-end (1)
        • Javascript (4)
        • Typescript (1)
        • React (0)
        • Next.js (1)
        • Tool (1)
        • Git (1)
        • Prettier (0)
        • Test-Framework (1)
        • Vercel (1)
      • 교육 (28)
        • 항해99 : 웹개발 종합반 18기 (14)
        • 프로젝트 캠프 : React 2기 (5)
        • 코드잇 스프린트 : 단기심화 5기 (9)
      • Algorithm (29)
        • Javascript (24)
        • Python (5)
      • 코드 보관함 (1)
        • 배치스크립트 ( .bat ) (1)
  • 블로그 메뉴

    • 홈
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    JavaScript
    모킹
    항해99
    jest
    css animation
    자바스크립트
    오블완
    테스트 프레임워크
    tailwindcss
    Baekjoon
    speed insights
    react-spring
    next.js
    스프린트
    백준
    til
    Python
    티스토리챌린지
    node.js
    코드잇
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
heee1
[ 프로그래머스 ] 배열 회전시키기 ( JS )
상단으로

티스토리툴바