개발로그필름
[프로그래머스] 배열 회전시키기 javascript (pop, shift, splice, filter, delete) 본문
coding test/프로그래머스
[프로그래머스] 배열 회전시키기 javascript (pop, shift, splice, filter, delete)
yuullog 2023. 4. 27. 23:37728x90
반응형
SMALL
https://school.programmers.co.kr/learn/courses/30/lessons/120844
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이번 문제는 좀 수월하게 풀어냈다
문제
나의 풀이
function solution(numbers, direction) {
var num = 0;
if(direction == "right") {
num = numbers.pop();
numbers.unshift(num)
}
else {
num = numbers.shift();
numbers.push(num)
}
return numbers;
}
조건문을 사용해 방향이 right와 left인 것을 먼저 구분하고
right라면 뒤에 있는 원소를 pop()으로 제거하고 num 변수에 저장해주었다가
numbers에 unshift()로 배열 맨 앞에 추가 시킨다
그리고 numbers 배열 return
left라면 맨 앞 원소를 shift()로 제거하고 num 변수에 저장해두었다가
numbers에 push()로 배열 맨 뒤에 추가 시킨다
JavaScript 배열 요소 삭제하는 방법
- pop() 배열 마지막 요소 삭제
- shift() 배열 첫 번째 요소 삭제
- splice() 배열 요소 삭제
- filter() 조건에 일치하는 새 배열 생성
- delete() 배열 요소 삭제
pop()
배열의 마지막 요소 삭제해 삭제된 요소 값 반환
var array = [1, 2, 3, 4];
var result = array.pop(); // 4
console.log(array); // [1, 2, 3]
shift()
배열의 첫 번째 요소 삭제해 삭제된 요소 값 반환
var array = [1, 2, 3, 4];
var result = array.shift(); // 1
console.log(array); // [2, 3, 4]
splice()
첫 번째 인수로 제거할 요소 인덱스 설정, 두 번째 인수로 제거할 요소 개수 설정
반환값은 삭제 후 배열
var array = [1, 2, 3, 4];
var result = array.splice(1, 2); // [2, 3]
console.log(array); // [1, 4]
// 첫 번째 인자가 0일 경우
var array = [1, 2, 3, 4];
var result = array.splice(0);
console.log(array); // []
console.log(result); // [1, 2, 3, 4]
filter()
기존 배열이 변경되지 않고 새로운 배열 반환
var array = [1, 2, 3, 4];
var filterArray = array.filter( (num) => return num < 4; );
console.log(filterArray); // [1, 2, 3]
delete()
특정 배열 요소 삭제해 빈 값으로 변경. 배열 길이 그대로
var array = [1, 2, 3, 4];
delete array[0];
console.log(array); // [empty, 2, 3, 4]
다른 사람 풀이
function solution(numbers, direction) {
var answer = [];
if ("right" == direction) {
numbers.unshift(numbers.pop());
} else {
numbers.push(numbers.shift());
}
answer = numbers;
return answer;
}
나는 변수를 선언해 풀었는데 변수를 선언 안해도 실행이 된다.
변수 선언 시 메모리 공간을 차지하기 때문에 변수 선언 안하는게 더 좋다!
반응형
LIST
'coding test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 문자열 정렬하기(1) javascript (0) | 2023.05.18 |
---|---|
[프로그래머스] 주사위의 개수 javascript (0) | 2023.05.17 |
[프로그래머스] 공 던지기 javascript (0) | 2023.04.26 |
[프로그래머스] 2차원으로 만들기 javascript (0) | 2023.04.25 |
[프로그래머스] 점의 위치 구하기 javascript (0) | 2023.04.25 |
Comments