인트로
2차원 좌표상에서 한 점을 기준으로 상하좌우 좌표를 구할 때 코드를 간결하게 작성하는 방법이다.
방향 배열은 BFS, 다익스트라, A*알고리즘에 자주 등장한다.
코드
switch 혹은 if-else문을 작성하지 않아도 된다.
int main()
{
//상 하 좌 우
int dirY[4] = { -1, 1, 0, 0 };
int dirX[4] = { 0, 0, -1, 1 };
int arr[3][3] = { {1,2,3},{4,5,6}, {7,8,9} };
int posY = 1, posX = 1;
cout << "초기 위치 Y :" << posY << " X : " << posX << endl;
for (int i = 0; i < 4; i++)
{
int nextY = posY + dirY[i];
int nextX = posX + dirX[i];
cout << "Y : " << nextY << " X : " << nextX << endl;
}
}
'Algorithm > 감명 깊게 본 코딩 팁' 카테고리의 다른 글
[코딩 팁] 변수의 최댓값 최솟값 제한하기 (0) | 2022.05.12 |
---|---|
[코딩 팁] 최대공약수 : 유클리드 호제법 원리 (1) | 2021.12.03 |