90도 시계방향으로 회전하거나 반시계 방향으로 회전할 때 방식은 외워놓으면 도움이 많이 될 것 같다.
시계 방향
newBoard[j][n - 1 - i] = board[i][j];
반시계 방향
newBoard[size - j - 1][i] = board[i][j];
특정 시작 좌표(x,y)를 기준으로 돌리고 싶다면
newBoard[y + j][x + n - 1 - i] = board[y + i][x + j];
이런식으로 해주면 된다. 회전하고자 하는 사각형의 좌측상단 - (y1, x1)
참고:
2차원 배열에서 90도 회전 알고리즘
N * N 크기의 2차원 배열 전체를 시계방향으로 회전 시키는 방법은 생각보다 간단하다. 우선 이해를 돕기위해 1~25의 숫자를 가지는 5x5 크기의 2차원 배열을 그려 두었다. 회전 전후를 비교해서 보
velog.io
'Algorithm > 백준' 카테고리의 다른 글
연산자 끼워넣기, 스타트와 링크 (1) | 2025.06.03 |
---|---|
boj14891: 톱니바퀴 (1) | 2025.06.01 |
[백준] 감시 (1) | 2025.05.25 |
boj21939: 문제 추천 시스템 Version 1 (1) | 2025.05.15 |
boj13904: 과제 (2) | 2025.05.15 |