public static boolean inRange(int x, int y) {
return (0 <= x && x < 5 && 0 <= y && y < 5);
}
- 해당 템플릿 안의 숫자 격자에 해당하는 사이즈로 변경하여 사용하기.
- inRange(x,y)함수 호출하여 격자 범위 안에 있는지 체킹. java.lang.ArrayIndexOutOfBoundsException오류 잡기 위함.
// 0 1 2 3
public static int[] dx = new int[] {0, 1, -1, 0};
public static int[] dy = new int[] {1, 0, 0, -1};
public static int getDir(char a) {
if(a == 'R') // 오른쪽
return 0;
else if(a == 'D') // 아래
return 1;
else if(a == 'U') // 위
return 2;
else { // 왼쪽
return 3;
}
}
- getDir 함수로 오른쪽, 아래, 위, 왼쪽에 해당하는 인덱스 값 꺼내주기
- 방향을 반대로 뒤집기 위해, dx, dy초기 설정시 격자 - dirNum 에 해당하는 숫자에 반대방향이 오게끔 셋팅해주기.
public static int[] dx = new int[] {0, 1, -1, 0};
public static int[] dy = new int[] {1, 0, 0, -1};
728x90
반응형
'Algorithm > 자료 구조 및 개념 정리' 카테고리의 다른 글
달팽이 순회2 (0) | 2023.06.10 |
---|---|
달팽이 순회 (0) | 2023.06.05 |
시계 / 반시계 방향 회전 템플릿 (2) | 2023.05.17 |
이진트리 순회 (0) | 2022.09.06 |
Array와 LinkedList의 차이 (0) | 2022.07.10 |