GitHub

https://github.com/Choidongjun0830

dfs 5

[백준] S1. 2468번 안전영역 / 분류: DFS, BFS

https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net DFS 풀이 import sys sys.setrecursionlimit(10 ** 8) N = int(sys.stdin.readline()) matrix = [] for i in range(N): matrix.append(list(map(int, sys.stdin.readline().split()))) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def dfs(x, y, depth..

BFS, DFS 다시 공부

참고 더보기 https://youtu.be/BsYbdUnKZ-Y?si=NH3yYYRu0XnaSZnN https://youtu.be/7C9RgOcvkvo?si=D3bH2OfymjUXocs2 그래프 탐색 알고리즘 (그래프 : 여러 개체들이 연결되어 있는 자료구조) 대표적인 문제 유형 경로 탐색 유형(최단거리, 시간) 네트워크 유형(연결) 연결되어 있는 그룹의 개수 두 개체가 같은 네트워크 안에 있는지 조합 유형(모든 조합 만들기) 스택 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조. 입구와 출구가 동일한 형태로 스택을 시각화할 수 있다. 파이썬에서 스택은 단순히 리스트와 append(), pop()으로 구현 가능하다. stack = [] stack.append(5) stack.pop() ....

알고리즘 2024.02.19

Baekjoon Online Judge 4963번 파이썬

문제 링크 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 2667번과 아주 유사한 문제다. 2667번에서는 델타값을 dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] 으로 주었지만 이번 4963번 문제에서는 대각선 방향만 추가해주어야 한다. 그래서 델타 값을 dx = [0, 0, -1, 1, -1, -1, 1, 1] dy = [-1, 1, 0, 0, -1, 1, -1, 1] 로 주었다. 계속 list out of ran..

Baekjoon Online Judge 1260번 파이썬

문제 링크 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS, BFS 유형을 처음 접해보는 내 입장에서는 정말 어려운 문제였다. 이 문제를 반복해서 풀어봐야 할 것 같다. 정답 코드 import sys from collections import deque N, M, V = map(int, sys.stdin.readline().split()) graph = [[0]*(N+1) for i in range(..

DFS, BFS

다음에 풀어볼 백준 문제는 DFS, BFS 와 관련된 것인데 처음 들어보는 것이라 공부를 해보았다. ( 참고 : https://youtu.be/7C9RgOcvkvo ) 1. 스택과 큐 스택 : 선입 후출, 입구와 출구가 동일한 형태로 스택을 시각화한다. 파이썬에서는 append()와 pop() 메소드를 이용하면 스택 구현이 가능하다. print(stack[::-1]) 최상단부터 출력, print(stack) 최하단부터 출력할 수 있다. c++에서는 push()와 pop()으로 구현할 수 있다. 큐 : 선입 선출, 입구와 출구가 모두 뚫려있는 터널 형태로 스택을 시각화한다. from collections import deque => 큐 구현을 위해 deque 라이브러리를 사용한다. 코드를 작성할 때, ‘q..

728x90