
백준 1260번 DFS와 BFS
DFS와 BFS를 모두 사용해서 두가지의 경우를 출력해야한다 하지만 예제 출력을 보면 이때까지 출력했던 방법과 다르게 노드의 순서에 따라 방문순서를 출력하는게 아니라 방문순서에 따라 노드번호를 출력해야한다
AWS 클라우드 정복중 ☁️ 언젠간 GCP, Azure까지도...

DFS와 BFS를 모두 사용해서 두가지의 경우를 출력해야한다 하지만 예제 출력을 보면 이때까지 출력했던 방법과 다르게 노드의 순서에 따라 방문순서를 출력하는게 아니라 방문순서에 따라 노드번호를 출력해야한다

DFS,BFS를 이용한 문제 풀이 바이러스에 감염된 컴퓨터에 연결된 컴퓨터를 모두 찾아서 그 숫자를 세면된다 DFS나 BFS중 가중치를 1로 계산해서 마지막 가중치에서 처음 감염된 컴퓨터를 빼줌 (-1) 그러면 감염된 컴퓨터의 총 개수가 나온다

너비 우선 탐색문제는 깊이 우선탐색과 다르게 가로로 먼저 움직이는것이다 기준 노드에서 가장 얕은 노드부터 가장 깊은 노드로 탐색 하는 방법이다

이전문제와 완전히 동일하지만 오름차순 탐색에서 내림차순 탐색으로 변경된 문제이다

깊이 우선탐색 문제로 깊이 우선 탐색이란 노드에서 좌우로 움직이는 것(bfs)이 아닌 세로로 움직이는것이다 한방향을 계속 가다가 더이상 가지 못하면 다시 가장 가까운 갈림길로 돌아와서 이곳부터 다시 탐색을 진행하는 방법이다

이전 문제인 최소 힙과 최대 힙하고 비슷한 문제이지만 이 문제에서는 절대값으로 저장을 한다 따라서 숫자를 받을때 음수와 양수를 어떻게 처리하는지가 중요하다

최소 힙 문제로 이전 문제 최대 힙과 같은 문제이다 최대 힙을 구현할때는 음수로 지정해서 힙에 넣었지만 이번에는 그냥 넣으면 최소 힙이 바로된다

이번 문제는 우선 순위 큐를 이용한 문제이다 우선순위 큐에서 최대 힙을 이용한다 파이썬에 내장된 함수 heapq를 이용해서 쉽게 풀 수 있었다

이 문제도 이분 탐색 문제로 최대값과 최소값을 잘 설정한뒤에 이분 탐색을 하면된다 python으로 제출할시에 시간초과가 나와서 pypy3로 제출했다

순차탐색을 이용해서 풀 수도 있지만 당연히 시간 초과가 나올것이다 이분탐색을 이용하여 시간을 단축시켜야한다 이분 탐색문제로 최대 랜선의 길이와 최소랜선의 길이(1)로 해결 가능하다