본문 바로가기
Algorithm/논리적사고(Logical Think)

[ 논리적사고 ] - 배열 중간에 있는 값을 맨 앞으로 옮기기

by YWTechIT 2021. 9. 3.
728x90

📍 배열 중간에 있는 값을 맨 앞으로 옮기기

배열 중간에 있는 값을 맨 앞으로 옮길 때는 2가지의 방법이 있다. 한번 코드로 살펴보자.

 

1. temptarget을 빼내는 방법: 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 ]
반응형

댓글