본문 바로가기

DFS27

[ 파이썬(python) ] 이것이 코딩 테스트다 - 음료수 얼려먹기(DFS) 📌 이것이 코딩 테스트다 - 음료수 얼려먹기 영상 링크(42:48) 💡 나의 풀이 DFS로 문제를 해결 할 수 있는데, 0인 값이 상, 하, 좌, 우로 연결되어 있는 노드를 묶으면 된다. BFS, DFS는 조건 설정이 중요한 것 같다. 특정한 지점의 주변 상, 하, 좌, 우를 살펴보고 주변 지점 중 값이 0이면서 아직 방문하지 않은 지점이 있으면 해당 지점을 방문한다. 방문한 지점에서 다시 상, 하, 좌, 우를 살펴보면서 방문을 다시 진행하면, 연결된 모든 지점을 방문할 수 있다. 1~2번의 과정을 모든 노드에 반복하고, 방문하지 않은 지점의 수를 센다. ''' 4 5 00110 00011 11111 00000 ''' ''' 15 14 00000111100000 11111101111110 11011101.. 2021. 4. 15.
[ 파이썬(python) ] 코드업 4503 - 바이러스(DFS) 📌 코드업 4503 - 바이러스 문제 설명 💡 나의 풀이 이 문제의 다양한 풀이가 있겠지만, 우선 DFS로 풀어봤다. 내일은 BFS로 풀어 볼 예정이다. 비 선형자료구조인 그래프에서의 가장 중요한 부분은 선형 자료구조와 다르게 입력을 받을때 양방향으로 받아야 한다는 점이다. 이번 문제에서 입력값을 어떻게 받아야 하는지 조금 헷갈렸는데, 양방향으로 받으면 정상적으로 정답 판정을 받을 수 있다. 네트워크에 연결되어있는 컴퓨터만 바이러스에 걸린다고 했으므로 DFS를 통해 나온값들의 len을 구하면 된다. 또, DFS를 푸는 방법에는 2가지가 있는데 다음과 같다. 이코테에서 배운 방법: Flag: if not visited[i] visited를 모두 [False]로 초기화해두고 현재 방문하려는 값이 False이.. 2021. 4. 14.