1. 노드간 연결 정보만 주어지는 유형

→ 그래프 정보를 인접행렬 또는 인접리스트에 담아주세요. (아래 코드는 인접행렬)
- 노드 개수 대비 간선 수가 많으면 인접행렬, 노드 개수 대비 간선 수가 적으면 인접리스트
adj = [[False for _ in range(v)] for _ in range(v)]
for _ in range(e):
n1, n2 = map(int, input().split())
adj[n1][n2] = adj[n2][n1] = True
1260번: DFS와 BFS
첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사
www.acmicpc.net
* 아래 문제는 인접리스트로 구현해야 시간/메모리 초과가 안 나는 문제
24479번: 알고리즘 수업 - 깊이 우선 탐색 1
첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양
www.acmicpc.net
2. 격자판이 주어지는 유형

→ 리스트(board)에 행 별로 값을 담아주세요.
board[y][x]라고 쓰면 각 요소에 접근할 수 있으며, dy와 dx 값을 이용해 상하좌우로 이동합니다.
dy = (0, 1, 0, -1)
dx = (-1, 0, 1, 0)
board = [input() for _ in range(N)]
2178번: 미로 탐색
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
www.acmicpc.net
'Algorithm > 이론' 카테고리의 다른 글
LIS 가장 긴 증가하는 부분 수열 (0) | 2022.10.06 |
---|---|
알고리즘 유형 7. 소수 (0) | 2022.05.14 |
알고리즘 유형 6. 동적 계획법 (0) | 2022.04.24 |
알고리즘 유형 5. 이분 탐색 (0) | 2022.04.24 |
알고리즘 유형 4. 그래프 (0) | 2022.04.23 |
1. 노드간 연결 정보만 주어지는 유형

→ 그래프 정보를 인접행렬 또는 인접리스트에 담아주세요. (아래 코드는 인접행렬)
- 노드 개수 대비 간선 수가 많으면 인접행렬, 노드 개수 대비 간선 수가 적으면 인접리스트
adj = [[False for _ in range(v)] for _ in range(v)] for _ in range(e): n1, n2 = map(int, input().split()) adj[n1][n2] = adj[n2][n1] = True
1260번: DFS와 BFS
첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사
www.acmicpc.net
* 아래 문제는 인접리스트로 구현해야 시간/메모리 초과가 안 나는 문제
24479번: 알고리즘 수업 - 깊이 우선 탐색 1
첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양
www.acmicpc.net
2. 격자판이 주어지는 유형

→ 리스트(board)에 행 별로 값을 담아주세요.
board[y][x]라고 쓰면 각 요소에 접근할 수 있으며, dy와 dx 값을 이용해 상하좌우로 이동합니다.
dy = (0, 1, 0, -1) dx = (-1, 0, 1, 0) board = [input() for _ in range(N)]
2178번: 미로 탐색
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
www.acmicpc.net
'Algorithm > 이론' 카테고리의 다른 글
LIS 가장 긴 증가하는 부분 수열 (0) | 2022.10.06 |
---|---|
알고리즘 유형 7. 소수 (0) | 2022.05.14 |
알고리즘 유형 6. 동적 계획법 (0) | 2022.04.24 |
알고리즘 유형 5. 이분 탐색 (0) | 2022.04.24 |
알고리즘 유형 4. 그래프 (0) | 2022.04.23 |