https://www.codingame.com/training/medium/bender-episode-1
- 문제에서 시키는대로 구현해야하는데 이동 경로도 출력해야함
- beer 상태일때는 벽을 부수고 이동하는 것임!
접근법
- conditon에 대한 변수들 생성
- vt[y][x][방향][turn][beer]
- 처음에는 boolean으로 했으나 loop처리를 위해 int로 변경
- 이동함수
- 다음 이동을 결정함
- 방향만 바뀌는 경우 방향만 바꿔놓고 return 함
- 이때 중복 처리를 방지하기 위해 ignoreflag를 이용함
- 위치가 바뀐 경우 이동 경로를 저장함
- 이때 transport로 바뀌는 경우는 저장하지 않음
- ignoreflag를 활용해서 경로를 저장함
- loop 처리
- 방문한 곳을 또 방문하면 loop라고 판단하였으나 예외가 있었음
- count를 저장하면서 일정 값 이상이면 loop로 판단 : 10 ~ 20 정도로 했음
- 빈 공간일 경우에만 체크했음
- action을 지시하는 곳에서 처리를 하면 올바른 값이 안나왔었음
후기
- 구현만 엄청하고 조건 찾기가 번거로운 문제였음
- testcase를 맞아도 제출하면 다른 testcase로 수행함