알고리즘 풀이/프로그래머스
[level2] 프로그래머스 - 거리두기 확인하기(JAVA)
맨 하단에 전체 코드가 있습니다. [ 문제 풀이 ] - 대기실의 모든 자리를 탐색하면서 모든 P를 찾는다. - 모든 'P'에 대해서 거리두기를 만족하는지 확인한다. => bfs이용!! 바로 옆에 'P'가 오지 않거나 바로 옆에 'O'가 있고, 'O'와 인접한 자리에 'P'가 없는 경우 => true [ 풀이 방법 ] 1. 대기실의 모든 자리를 탐색하면서 'P'(응시자가 앉아있는 자리)를 찾는다. 2. bfs(사방탐색)를 돌면서, 맨해튼 거리 2 이내에 P가 또 있는지 확인한다. - 거리두기를 지키기 위해서, 1번 자리에 와도 되는 것은 'O'와 'X'이다. => 'P'가 온다면, return false if (p[nr].charAt(nc) == 'P') return false; - 1번 자리에, 'X'가..
2021. 9. 9.