백준 1194 "달이 차오른다, 가자" (JAVA)
·
알고리즘(JAVA)
🔍 문제링크https://www.acmicpc.net/problem/1194📌 문제 요약N x M 크기의 미로에서 상근이가 출구('1')까지 도달하는 최소 이동 횟수를 구하는 문제미로에는 벽(#), 빈 공간(.), 열쇠(a~f), 문(A~F)이 존재한다.상근이는 빈 공간(.)과 열쇠(a~f)를 자유롭게 이동할 수 있다.문(A~F)는 해당하는 열쇠(a~f)를 획득해야만 통과 가능하다.출구('1')에 도달할 수 없는 경우 -1을 출력한다.🛠 풀이 및 알고리즘1️⃣ BFS (너비 우선 탐색) 활용 → 최단 거리 탐색미로에서 최단 거리를 구하는 문제이므로 BFS(너비 우선 탐색)를 사용한다.2️⃣ 비트마스킹을 활용한 열쇠 상태 관리1. 열쇠(a~f)를 비트로 변환 미로에는 최대 6개의 열쇠(a~f)가 존재..