이번 문제는 미로 탈출 문제이다.
기본적인 미로 탈출 문제에서 '레버'라는 변수 하나가 더 추가되었으며, 시작점과 끝나는 지점 역시 무작위 배치이다.
설명에 따르면, 레버를 당겨야지만 출구가 열리는 구조이며, 모든 통로, 출구, 레버, 시작점은 여러번 지나갈 수 있다.
그리고 시작점, 레버, 출구는 각 한 개씩만 존재한다.
기본적으로 생각해 봐야할 사항은 시작점 <-> 레버, 레버<-> 출구 두 구간이 진행 가능한지 판단하는 여부이다.
먼전 전달받은 maps 에서 시작점, 도착점, 레버의 위치 좌표를 받아와 각 변수에 선언해 주었다.
그리고 이제 전체를 탐색하면서 이동 가능한 경로를 확인해 주면 된다.
한가지 추가할 사항은 해당 bfs() 함수를 시작하는 지점의 값은 0이 되어야 하고, 나머지 이동 가능한 좌표들은 전부 1로 선언된 maze라는 2차원 배열을 만들어 누적값을 사용한다는 점이다.
나머지는 기존 bfs() 함수와 크게 차이점이 없다.
'프로그래머스 퀴즈(Python) > level 3' 카테고리의 다른 글
23.02.24 파이썬 코딩 퀴즈#172 최고의 집합(프로그래머스 스쿨) (0) | 2023.02.24 |
---|---|
23.02.24 파이썬 코딩 퀴즈#171 야근 지수 (프로그래머스 스쿨) (0) | 2023.02.24 |
23.02.24 파이썬 코딩 퀴즈#170 선입 선출 스케줄링 (프로그래머스 스쿨) (0) | 2023.02.24 |
23.02.23 파이썬 코딩 퀴즈#169 거스름돈 (프로그래머스 스쿨) (0) | 2023.02.23 |
23.02.23 파이썬 코딩 퀴즈#168 가장 긴 팰린드롬 (프로그래머스 스쿨) (0) | 2023.02.23 |