jungyoonoh / unit-study

Problem Solving Study
4 stars 4 forks source link

9주차 과제: (2) 백준 4179 불! #38

Closed jungyoonoh closed 2 years ago

jungyoonoh commented 2 years ago

https://www.acmicpc.net/problem/4179 불! 문제를 풀어주세요

Seon-Ju commented 2 years ago

https://github.com/Seon-Ju/unit-study/blob/main/Seonju/Baekjoon/Graph%20Traversal/4179_%EB%B6%88!.py

이동하는 대상인 지훈이와 불을 큐에 넣고 BFS 진행! 단, 어느 타임이든 지훈이를 먼저 이동시켜야 하기 때문에 지훈이의 위치를 큐에 가장 먼저 넣어줌으로써 이를 달성한다.

지훈이의 탈출 시간을 출력해야 해서 큐에는 위치와 함께 시간 정보도 넣어준다. (불의 시간은 고려 대상 X → -1로 넣어줌)

자세한 풀이는 블로그

✅ 완료

jungyoonoh commented 2 years ago

https://github.com/jungyoonoh/unit-study/blob/main/Yoonoh/Baekjoon/GraphTraversal/4179_%EB%B6%88.py

BFS로 풀이, 지훈이 먼저 이동 -> 불 이동의 순서로 진행한다 불이 번지고 난 자리는 벽으로 이동불가 처리를 해주고, 지훈이의 이동은 isVisited로 체크해준다 지훈이의 이동 차례에 현재 위치가 불로 덮이지 않았을 때 외곽에 있다면 탈출 성공 ✔️ 완료

SoominRyu commented 2 years ago

https://replit.com/@SoominRyu/codingtest#%EB%B6%88!.py

일부 케이스 통과 못해서 커밋 안 함.... 가장자리 판단 기준에서 틀린 것으로 추정 -> 불한테 잡아 먹혀도 큐에 지훈이 정보가 남아있는 경우가 있어서 그랬음 -> 큐에서 해당 정보 삭제하고 불 정보 넣어주기 해서 해당 반례 테스트케이스 통과했지만 실패


https://github.com/SoominRyu/unit-study/blob/main/Soomin/Baekjoon/Graph%20Traversal/4179%20%EB%B6%88!.py

( 선주 블로그 참고해서 풀었음! 감사합니다 )

  1. 지훈이 넣어주면서 시작
  2. 불도 넣어줌
  3. key = J 일 때 : 방문한 적 없고, 미로가 . 이면 지훈이 이동
  4. key = F 일 때 : 4 방향으로 불 퍼지게 함
  5. 지훈이가 불을 만나지 않고 가장자리이면 탈출

✅ 완료