itertools1 [python] 14502. 연구소 문제 출처 14502. 연구소 풀이 초기에 주어진 배열에서 벽이 더이상 추가되지 않는다면 BFS탐색을 통해 바이러스를 퍼뜨린 후, 더이상 바이러스가 퍼지지 않을 때의 빈공간의 갯수를 구하면 된다. 하지만 이 문제는 3개의 벽을 추가로 세워야 하기 때문에 초기 배열에서 빈 공간의 좌표를 파악하고 좌표들 중 3개를 뽑는 조합을 계산한 후 바이러스를 퍼뜨려 안전 영역 크기의 최댓값을 구하면 된다. 초기 배열에서 바이러스와 빈 공간의 좌표들을 저장한다. 벽을 추가로 3개 세웠다고 가정했을때의 빈 공간의 갯수를 구하고, 최댓값을 초기화 한다. 빈 공간의 좌표를 기록한 리스트에서 중복되지 않는 3개의 좌표를 뽑는다. 3번에서 구한 조합의 모든 경우에서 같은 작업을 반복해야 하므로 초기의 배열과 바이러스를 저장한 리.. 2019. 7. 13. 이전 1 다음