Skip to content

Conversation

@Ukj0ng
Copy link
Contributor

@Ukj0ng Ukj0ng commented Nov 8, 2025

🧷 문제 링크

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

🧭 풀이 시간

90분 + 90분

👀 체감 난이도

✏️ 문제 설명

일반적인 문제인데 바라본 방향을 보고 벽을 뚫는다. 최단거리는?

🔍 풀이 방법

벽을 뚫을 때, 해당 방향으로 도착할 수 있는 곳을 모두 queue에 넣는다. 그리고 다익스트라 느낌으로 최단거리를 체크해야 한다. 중복이 될 수도 있거든.

문제는 벽을 뚫을 때, 모든 도착할 수 있는 곳을 queue에 넣는 게 잘못됐다.
BFS에서 진행될 행동을 잘게 자른다.

  1. 스킬 미사용
    1. 일반 이동
    2. 스킬 시작
  2. 스킬 사용 완료
  3. 스킬 사용 중
    1. 스킬 중지
    2. 스킬 계속 사용
      으로 행동을 나눈 다음, 벽을 부술 땐 모두 부술 필요 없이 더 가까워질 때만 queue에 넣는다.

⏳ 회고

배운 건 세 가지다.

  1. 우선순위 큐를 사용하지 않고 Deque만으로 addFirst, addLast를 통해 우선순위를 조절할 수 있다.
  2. 난 한 번에 처리하려는 습관이 있다. 잘 모르겠으면 단위를 잘게 나눠보자.
  3. continue를 사용할 땐, 아래 어떤 절차가 있는지 확인하기

@ShinHeeEul ShinHeeEul merged commit 6d14fd2 into main Nov 8, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants