728x90
📍 배열 중간에 있는 값을 맨 앞으로 옮기기
배열 중간에 있는 값을 맨 앞으로 옮길 때는 2가지의 방법이 있다. 한번 코드로 살펴보자.
1. temp
로 target
을 빼내는 방법: target
이 몇 번째 index
에 있는지 찾는다. -> temp
에 저장한다. -> 한 칸씩 뒤로 미룬다. -> 맨 앞에 temp
값을 넣는다.
2. splice
방법: target
이 몇 번째 index
에 있는지 착는다 -> temp
변수에 splice
값을 넣는다. -> 맨 앞에 unshift()
한다.
728x90
let arr = [2, 3, 1, 5, 6];
let target = 1;
// target이 arr의 몇 번째 idx에 위치해있는지 찾기
let pos=-1;
for (let i=0; i<=arr.length; i++){
if(arr[i]===target) pos=i}
// 1번: pos부터 한 칸씩 뒤로 밀기
let temp = arr[pos];
for (let i=pos; i>=1; i--){
arr[pos] = arr[i-1];
}
arr[0] = temp;
// 2번: splice
let temp = arr.splice(pos, 1);
arr.unshift(...temp);
console.log(arr)
👉🏽 [ 1, 3, 2, 5, 6 ]
반응형
'Algorithm > 논리적사고(Logical Think)' 카테고리의 다른 글
[ 논리적사고 ] - 재귀를 이용하여 부분 집합, 순열, 조합 구하기 (0) | 2021.10.01 |
---|---|
[ 논리적사고 ] - 누적 값이 point보다 높은지 낮은지 비교하고 추가하기 (0) | 2021.09.08 |
[ 자바스크립트(JavaScript) ] 2차원 행렬 sort하기 (0) | 2021.08.20 |
[ 논리적사고 ] - string함수 사용하지 않고 자연수 거꾸로 뒤집기 (0) | 2021.08.20 |
[ 논리적사고 ] - 자연수의 자릿수 합 구하기 (0) | 2021.08.20 |
댓글