성장일기

 알고리즘 문제를 풀다보면 2차원 배열에서 특정 기준으로 이동을 해야할 때가 있다.

map[x][y] : 2차원배열 특성 상 x는 위,아래 / y는 왼쪽,오른쪽 움직임을 관여

 

// 위, 아래, 왼쪽, 으른쪽 이동 -> 문제 요구사항(조건)에 따라 변할 수 있음
int[] dx = {-1, 1, 0, 0};
int[] dy = {0, 0, -1, 1}; 


// 현재 좌표 기준으로 위, 아래, 왼쪽, 으른쪽을 다 방문처리 해야한다고 가정
for(int i=0; i<4; i++) {
				
    // point.x, point.y는 현재 좌표
    // mx, my 이동할 좌표
	int mx = point.x + dx[i];
	int my = point.y + dy[i];
    
	// 이동할 좌표 방문처리 및 해당 좌표로 다음 로직 수행
    
}

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band