Notice
Recent Posts
Recent Comments
Link
목록itertools (1)
코딩 공부

빈 칸인 공간들 중에 3칸을 뽑아서 벽을 만들기 위해 DFS를 이용한다. DFS의 효율을 높이기 위해 지금 선택한 벽의 개수가 3을 넘어가면 가지치기를 실행해준다. 3개의 후보를 뽑았다면, 3개의 후보를 벽 상태인 1로 만들어주고 BFS를 통해 바이러스를 퍼뜨리고 전체 연구실의 크기(N*M)에서 벽의 수(wall), 임시 벽(3), 바이러스가 퍼진 칸(len(virus)+count)을 빼주면 안전 영역의 크기를 구할 수 있어 이를 return 한다. 위의 과정에서 return 받은 값을 이용해 answer의 값을 안전 영역의 최댓값으로 갱신한다. 임시 벽을 다시 0인 상태로 되돌려준다. from collections import deque def dfs(n, lst): global answer if le..
삼성 SW 역량 테스트 기출 문제
2024. 2. 5. 19:58