백준 9328번 열쇠

백준 9328번 링크 문제 풀이 조건이 많아서 BFS 문제처럼 생기긴 했는데 어떻게 풀어야 하나... 고민하다가 main queue, sub queue를 만드는 방식을 생각해냈다. 자료구조 Main queue는 일반적인 BFS에서 사용하는 queue다. Sub queue는 아직 열쇠가 없어서 방문한 적은 있지만, BFS를 수행하지는 못한 cell을 저장한다. 열쇠를 찾았을 때는 sub queue에 있는 모든 cell에 대해 BFS를 수행하면 된다! 열쇠는 'a' ~ 'z'까지 있으므로 sub queue를 총 26개 선언하면 된다. BFS이므로 방문 여부를 저장하기위해 visited 배열을 선언한다. 열쇠 획득 여부를 판단하기 위해 key 배열을 선언한다. 디버깅 checkCell() 함수 visitedr, 즉 방문여부를 확인하는 코드를 넣지 않아 수정했다. 열쇠를

2023년 3월 4일
·
0개의 댓글
·