알고리즘
<baekjoon> 뱀
koyuchang
2020. 10. 30. 00:48
풀이
뱀의 방향이 변할 수 있으므로 방향배열을 설정하고 BFS 혹은 DFS로 생각할 수도 있지만, 단순히 현재 바라보는 방향에서 왼쪽이냐 오른쪽이냐 만 생각하면 굳이 방향 배열을 만들 필요는 없다. dir변수를 둬서 0-우 1-하-2-좌 3-상으로 정한다. 'D'가 나오면 dir변수에 +1을 해주고 'L'가 나오면 -1을 해준다.
그리고 사과가 없는 위치에 도착하면 꼬리를 하나씩 잘라내면 되므로 이동시마다 현재위치를 계속 저장할 객체를 만들고 Queue에 저장한다. 그래서 사과가없으면 제일 처음 꼬리 좌표를 제거하고 그 부분을 이동가능한 0으로 설정한다.