일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 파이썬
- 데이터마이닝
- 너비우선탐색
- PYTHON
- 백준
- 깊이우선탐색
- 코딩테스트
- 자료구조
- 문제풀이
- 알고리즘
- BFS
- DP알고리즘
- Baekjoon
- 그래프
- 반복문
- Datastructure
- 큐
- 프로그래머스
- 그리디알고리즘
- dp
- 코테
- 다이나믹프로그래밍
- 그래프탐색
- solvedac
- 수학
- 정렬
- 문자열
- DFS
- greedy
- 그리디
- Today
- Total
목록깊이우선탐색 (6)
nyunu

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net [ 문제 ] N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동..

https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [ 문제 ] N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 [ 입력 ] 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. [ 출력 ] 한 줄에 하나씩 문제의 조건을 만족하는 수..

[ 문제 ] 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. [ 입력 ] 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다. 입력의 마지막 줄에는 0이 두 개 주어진다. [ 출력 ] 각 테스트 케이스에 대해서,..

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 코드 구현 ) https://github.com/nyunu/BaekJoon/blob/main/11724.ipynb [ 문제 ] 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤..

💡 그래프 탐색 하나의 노드에서 시작하여 노드와 연결된 모든 정점들을 한 번씩 방문하는 것 💡 DFS (깊이 우선 탐색) DFS는 이름 그대로 깊이를 우선으로 탐색하는 방법이다. 전회 순회라고도 할 수 있는데 쉽게 말하면 아래 그림처럼, "루트 노드 -> 왼쪽 서브트리 -> 오른쪽 서브트리" 순으로 방문하는 방식이다. 그리고 이 과정이 재귀적으로 반복된다고 이해하면 된다. 왼쪽 서브트리에 방문하면 왼쪽 서브트리에서는 왼쪽 서브트리의 루트 노드를 먼저 방문하고 그 루트 노드의 왼쪽 서브트리 -> 오른쪽 서브트리를 방문하는 방식이다. 예시를 통해 더욱 쉽게 이해할 수 있는데, 만약 그래프가 위와 같다고 하면 DFS의 순회 순서는 0 - 1 - 2 - 3 - 4 - 5가 된다. 루트 노드의 0 방문 0이 루트..

https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 확인 ) https://github.com/nyunu/BaekJoon/blob/main/11724.ipynb [문제] 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. [출력] 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번..