반응형
방향 배열 사용하기
2차원 좌표상에서 한 점을 기준으로 상하좌우로 이동하는 좌표를 구할 때 코드를 작성하는 방법이다.
BFS, 다익스트라, A* 알고리즘에 자주 등장한다. 이번 기회에 익숙해지도록 하자.
예제 코드
using System;
public class Program
{
public static void Main()
{
int[] dirY = new int[] { -1, 1, 0, 0 };
int[] dirX = new int[] { 0, 0, -1, 1 };
int[,] array = new int[3, 3] { { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } };
int posY = 1;
int posX = 1;
Console.WriteLine($" 초기 위치 : {array[posY, posX]}");
for(int i = 0; i < 4; i++)
{
int nextY = posY + dirY[i];
int nextX = posX + dirX[i];
Console.WriteLine($" 이동 위치 : {array[nextY, nextX]}");
}
}
}
출처
'프로그래밍 > Algorithm' 카테고리의 다른 글
그래프(Graph) 자료구조 (4) | 2023.08.29 |
---|---|
[프로그래머스 Programmers] 배달 (2) | 2023.08.29 |
C#으로 미로 만들기 (6) | 2023.08.24 |
[프로그래머스 Programmers] 네트워크 (1) | 2023.08.24 |
그래프(Graph)와 트리(Tree) (2) | 2023.08.23 |
댓글