[백준] 2169 - 로봇 조종하기(Java)

·
Algorithm
문제 파악https://www.acmicpc.net/problem/2169 풀이보자마자 직관적으로 떠올린 풀이는 DFS / DP이다.하지만 DFS로 접근할 경우, 같은 행에서 좌우 이동이 가능하기 때문에방문 처리 여부에 따라 무한 루프 또는 최적 경로 차단 문제가 발생한다.규칙을 찾기 위해 재방문하지 않고, 위쪽으로 방향을 틀지 않는 로봇의 경로를 그려보았다N번째 행에서의 로봇의 경로는 N + 1 행으로 아랫방향 이동 : ⬇️우측으로만 이동 : ⬇️ ➡️➡️➡️좌측으로만 이동 : ⬅️⬅️⬅️ ⬇️뿐이다. 만약 우측으로 갔다가 좌측으로 간다면 반드시 같은 칸을 재방문하게 되므로 규칙에 위배된다.👉 즉, 한 행 안에서는 한 방향만 선택 가능하다는 중요한 제약이 생긴다. DP 상태 정의그럼 DP 배열을 선언..