static int dx[] = {-1, 1, 0, 0};
static int dy[] = {0, 0, -1, 1};
for(int i = 0; i < 4; i++){
int nowX=x+dx[i];
int nowY=y+dy[i];
if(nowX >= 1 && nowX <= r && nowY >= 1 && nowY <= c){
좌표를 탐색할 때 상하좌우 탐색에 대한 설정이다.
dx,dy를 먼저 잡아두고 4번의 포문 탐색을 통해 좌표값을 변경하여 상하좌우 탐색을 진행하게 된다. 이때, 중요한 것은 if문을 두어 유효한 좌표인지 확인해야 한다는 것이다.
이를 응용해 8가지 방향 탐색 혹은 특수한 방향에 대한 탐색도 진행할 수 있다.
'문제 풀이 > 도구정리' 카테고리의 다른 글
| [도구정리] 투포인터 (0) | 2024.10.06 |
|---|---|
| [도구정리] 코딩 테스트 문법 정리(JAVA) (0) | 2024.04.24 |
| [도구정리] 에라토스테네스의 체 (0) | 2024.04.13 |
| [도구정리]최대공약수, 최소공배수(GCD, LCM) (0) | 2024.04.12 |
| [도구정리] DFS, BFS (0) | 2024.04.08 |