🧩 Problem Solving

[메모] 배열돌리기

date
Nov 10, 2022
slug
algo-rotate-array
author
status
Public
category
🧩 Problem Solving
tags
summary
N*N 행렬을 시계/반시계 방향으로 회전시키는 공식
type
Post
thumbnail

1. N*N 행렬을 행 단위로 시계 방향으로 회전시키기

  • step 1) 전치행렬 : A_(x, y) ↔ A_(y, x) 두 대칭되는 원소 Swap
  • step 2) 좌우반전
 

2. N*N 행렬을 행 단위로 반시계 방향으로 회전시키기

  • step 1) 전치행렬 : A_(x, y) ↔ A_(y, x) 두 대칭되는 원소 Swap
  • step 2) 상하반전
 

3. N*N 행렬을 한 칸씩 시계 방향/반시계 방향으로 회전시키기

  • 모든 방향에 대하여 사이즈만큼 for 문 돌기
    • for( 왼 → 오 )
    • for( 위 → 아래 )
    • for( 오른 → 왼 )
    • for( 아래 → 위 )
  • 이때 주의: 덮어쓰기이므로 for문 진행방향과 반대 방향으로 덮어쓰기