728x90
방향 벡터는 구현 및 완전 탐색 알고리즘에서 많이 쓰이므로 따로 정리한다.
이차원 배열과, 현재 위치가 주어지고, 움직일 수 있는 방법을 지정해 준 경우 방향 벡터를 통해 움직일 수 있는 경로를 미리 지정해두고, 다음 위치로의 사용이 가능하다.
방법 1
//동, 북, 서, 남
dx = {0, -1, 0, 1}
dy = {1, 0, -1, 0}
//현재 위치
int x = 2;
int y = 2;
//다음 위치
for(int i=0; i<4; i++){
nx = x + dx[i];
ny = y + dy[i];
}
방법2
//동, 북, 서, 남
steps = {{0, 1}, {-1, 0}, {0, -1}, {1, 0}}
//현재 위치
int x = 2;
int y = 2;
//다음 위치
for(int i=0; i<4; i++){
nx = x + steps [i];
ny = y + steps [i];
}
위와 같이 사용할 수 있다!
참고로 아래 문제는 두번째 방법으로 푼 문제이다.
📔 Reference
[이것이 취업을 위한 코딩 테스트다 - 나동빈]
728x90
'Algorithm > 이것이 취업을 위한 코딩 테스트다' 카테고리의 다른 글
[알고리즘] DFS/BFS - 음료수 얼려먹기 (0) | 2021.12.25 |
---|---|
[알고리즘] 구현 - 게임 개발 (0) | 2021.12.23 |
[알고리즘] 왕실의 나이트(구현) (0) | 2021.12.21 |
[알고리즘] 구현 - 시각 (0) | 2021.12.20 |
[알고리즘] 구현 - 상하좌우 (0) | 2021.12.19 |