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 |
