본문 바로가기
알고리즘/알고리즘 개념

dx, dy 개념

by Jo_Wick 2025. 9. 8.
반응형
int dir = 0; // direction 방향

int dy[4] = {1, 0, -1, 0};
int dx[4] = {0, -1, 0, 1};

남 -> 서 -> 북 -> 동

 

이렇게 각 방향을 순서대로 놓은 뒤, dir을 잘 응용하면 된다.

 

90도 회전의 경우

- 시계방향

dir = (dir + 1) % 4;

 

- 반시계방향

dir = (dir - 1 + 4) % 4;

 

※ dir이 음수를 갖지 않게 하기 위해 +4를 해준다.

 

 

인접한 방향으로 뒤집는 경우

- 0 <-> 3, 1 <-> 2
숫자 3에서 현재 방향(dir)을 빼면 된다.

dir = 3 - dir;

 

 

- 0 <-> 1, 2 <-> 3
비트 연산의 xor 연산을 사용하면 쉽게 변환할 수 있다.

xor은 각 비트가 서로 다를 때 1을 변환하기 때문에 dir ^ 1을 하면 쉽게 구할 수 있다.

00 <-> 01, 10 <-> 11

dir = dir ^ 1;
반응형

'알고리즘 > 알고리즘 개념' 카테고리의 다른 글

Hash c++ 개념 정리  (0) 2023.04.14

댓글