문제 풀이/도구정리
[도구정리] 사방탐색
27200
2024. 4. 8. 22:23
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가지 방향 탐색 혹은 특수한 방향에 대한 탐색도 진행할 수 있다.