외우면 구현 빠른 알고리즘
시계 방향 회전 (90도 회전)
// origin[ROW][COL]
// rotated[COL][ROW]
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
rotated[j][ROW-1-i] = origin[i][j];
}
}
반시계 방향 회전 (270도 회전)
// origin[ROW][COL]
// rotated[COL][ROW]
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
rotated[COL-1-j][i] = origin[i][j];
}
}
or 시계방향 * 3회
180도 회전
// origin[ROW][COL]
// rotated[COL][ROW]
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
rotated[COL-1-i][ROW-1-j] = origin[i][j];
}
}
or 시계방향 * 2회
전치행렬
// origin[ROW][COL]
// rotated[COL][ROW]
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
rotated[j][i] = origin[i][j];
}
}
+ 달팽이 알고리즘
2023.03.22 - [Develop/Algorithm] - [C++] 달팽이 알고리즘
'컴퓨터공학 > 알고리즘 ˙ 자료구조' 카테고리의 다른 글
[알고리즘] 배낭 알고리즘 (fractional 배낭, 0-1 배낭) (0) | 2023.04.29 |
---|---|
[자료구조] AVL 트리, Red-Black 트리 (0) | 2023.04.28 |
[알고리즘] 퀵 정렬과 병합 정렬 (0) | 2023.04.26 |
[자료구조] B-tree와 B+tree (0) | 2023.04.24 |
[C++] 달팽이 알고리즘 (0) | 2023.03.22 |