가끔씩 삼성 A형 문제라던가 구현, 시뮬레이션 문제들 보면 배열을 자주 돌린다. (회전 회오리)
그래서 이번 기회에 기강을 다져보기로 했다. (그저 기록이지만)
코딩테스트 치기전에 한 번 보면 좋겠다 미래의 나
class Map {
int[][] map;
public Map(int[][] map) { this.map = map; }
public void rotate() {
// 90도 회전
int rows = map.length;
int cols = map[0].length;
int[][] newMap = new int[cols][rows];
for(int i = 0 ; i < rows ; i++) {
for(int j = 0 ; j < cols ; j++) {
newMap[j][rows - i - 1] = this.map[i][j];
// newMap[j][rows-i-1] = this.map[i][j]; // 시계 방향
// newMap[rows-j-1][i] = this.map[i][j]; // 반시계 방향
// newMap[rows-i-1][j] = this.map[i][j]; // 상하반전
// newMap[i][rows-j-1] = this.map[i][j]; // 좌우반전
}
}
}
public void printMap() {
int rows = map.length;
int cols = map[0].length;
for(int i = 0 ; i < rows ; i++) {
for(int j = 0 ; j < cols ; j++) {
System.out.print(map[i][j]);
}
System.out.println();
}
}
}
'👨🏻💻 Development > 𝐀 Algorithm' 카테고리의 다른 글
2021년 09월 17일 TIL - 플로이드 와샬 알고리즘 (Java) (0) | 2021.09.17 |
---|---|
2021년 09월 10일 TIL - 이진 탐색 (0) | 2021.09.10 |
2021년 09월 08일 TIL - Heap (Java) (0) | 2021.09.08 |
2021년 09월 06일 TIL - 다익스트라 알고리즘 (Java) (0) | 2021.09.06 |