
백준 7562번 나이트의 이동
bfs문제로 이동하는 경우의 수가 8개이고 2차원(좌표)을 이용하기 때문에 딕셔너리는 사용하지 못한다(딕셔너리의 key값에는 리스트가 들어갈 수 없다) 다라서 2차원 리스트로 이동경로를 저장해야한다
클라우드 보안으로 가자~~~

bfs문제로 이동하는 경우의 수가 8개이고 2차원(좌표)을 이용하기 때문에 딕셔너리는 사용하지 못한다(딕셔너리의 key값에는 리스트가 들어갈 수 없다) 다라서 2차원 리스트로 이동경로를 저장해야한다

최단거리문제로 움직일 수 있는 방법이 3가지 있는 경우이다 입력이 숫자 2개라서 새로운 노드를 만들거나 움직임의 수를 저장할 공간이 필요한다

bfs로 최단거리를 찾는 문제인데 이전문제들과 달리 시작점이 정해져서 탐색을 시작한다 그점을 기준으로 노드마다 최단거리를 구해서 그 값을 노드에 저장한다

2667번과 유사한 문제로 구하는 값이 다르다 여기서는 묶을의 개수만 구하면 된다

숫자열을 입력 받고 받은 숫자열을 가로 세로끼리 이어서 하나의 묶음을 만들어야 한다 문제에서는 하나의 묶음을 단지로 표현했다 하나의 좌표에서 왼쪽 오른쪽 위아래로 움직였을때 만약 해당 위치의 값이 1이라면 서로 이어진 곳이다 이렇게 이어진 곳이 몇개있는지 알아내는 문제이다

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

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

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

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

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