본문 바로가기
공부 정리/알고리즘

[js] 배열돌리기

by 경적필패. 2023. 1. 9.
반응형

종종 2차원 배열 돌리기를 해야하는 문제가 나오곤 합니다.

그것을 위해 정리 했습니다.

 

1. x축 뒤집기

const arr = [[1,2,3],[4,5,6],[7,8,9]];

console.log(arr.reverse());

[7, 8, 9]
[4, 5, 6] 
[1, 2, 3]

각 배열의 순서만 바꿔주면 됩니다.

 

 

 

2. y축 뒤집기

const arr = [[1,2,3],[4,5,6],[7,8,9]];

for(let i=0; i<arr.length; i++){
  arr[i].reverse();
}
console.log(arr)

[3, 2, 1]
[6, 5, 4] 
[9, 8, 7]

각 배열을 뒤집어주면 됩니다. 1,2,3 => 3,2,1

 

 

 

3. 90도 회전

const arr = [[1,2,3],[4,5,6],[7,8,9]];

for(let i=0; i<arr.length; i++){
  for(let j=i; j<arr[i].length; j++){
    [arr[i][j],arr[j][i]] = [arr[j][i],arr[i][j]];
  }
}
for(let i=0; i<arr.length; i++){
  arr[i].reverse();
}
console.log(arr)

[7, 4, 1]
[8, 5, 2]
[9, 6, 3]

arr[i][j] 와 arr[j][i]를 스왑한 후에, 각 배열을 뒤집어주면 됩니다.

(두번 뒤집으면 안되므로 let j=i입니다)

 

 

++배열관련 추가 팁

2차원 배열에서 i+j를 하면 슬래쉬 방향의 대각선끼리 묶을 수 있습니다.

 

반응형

댓글