Skip to content

Conversation

@lkhyun
Copy link
Contributor

@lkhyun lkhyun commented Jan 8, 2026

🧷 문제 링크

https://www.acmicpc.net/problem/14451

🧭 풀이 시간

90분

👀 체감 난이도

✏️ 문제 설명

러너가 왼쪽 맨 아래에서 오른쪽 맨 위로 이동할거임.
러너는 직진, 우회전, 좌회전 세가지 행동이 가능함.
초기 러너는 어디를 바라볼지 모름. 하지만 위 또는 오른쪽 둘 중 하나임.
어떻게 있든 같은 명령어 시퀀스로 도착지에 도착할때, 최소 행동으로 도착하도록 해야함.
이때 명령어 횟수를 출력.

🔍 풀이 방법

BFS
상태 자체를 위를 바라보고 시작하는 경우와 오른쪽을 바라보고 시작하는 경우로 정의함.
이후 상태에 따라 직진, 좌회전, 우회전을 실시하며 두 경우 모두 도착지로 도착했을때, 그때의 step을 출력

⏳ 회고

위를 바라보든 오른쪽을 바라보든 상관없다고 처음에 생각했다.
위를 바라보면서 우회전을 하는 경우와 오른쪽을 바라보면서 좌회전을 하는경우에 둘다 같은 명령어 횟수로 도달 가능했기 때문이었다.
그래서 위치와 방향만 상태에 저장하고 둘다 큐에 넣어두는 방식으로 구현했었다.
하지만 핵심은 어떤 상태이든지 같은 명령어를 따르기만하면 도착지에 도착해야한다는 것이 핵심이었다.
따라서 두 경우를 하나의 상태로 합쳐서 이동해야했다.

그리고 두 경우중 하나가 미리 도착하면 컷신이 발동해서 명령에 영향을 받지 않는다는 것을 간과했는데, 이를 처리하여 풀 수 있었다.

@lkhyun lkhyun self-assigned this Jan 8, 2026
@lkhyun lkhyun added the hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때 label Jan 8, 2026
@ShinHeeEul ShinHeeEul merged commit ece0b32 into main Jan 8, 2026
1 check passed
@oncsr
Copy link
Contributor

oncsr commented Jan 8, 2026

돌아왔구나

@lkhyun
Copy link
Contributor Author

lkhyun commented Jan 9, 2026

돌아왔구나

내가 보고 싶었니

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hint 💡 반례를 참고했거나 힌트를 얻고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants