일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가장 긴 증가하는 부분수열
- 백준_2178
- BFS
- 리스트
- 미로탐색
- 타겟 넘버
- 2606
- dfs
- 백준 9252
- boj 11053
- 12865
- 소수찾기
- 평범한 배낭
- 백준 2606
- 8-queen
- 데카르트 곱
- 알고리즘
- 백준 1535
- 프로그래머스
- 파이썬
- 백준
- 대소비교
- 9663
- 백준 12015
- python
- LCS2
- 냅색
- BOJ 2606
- 증가하는 부분수열 2
- list
- Today
- Total
목록알고리즘 (3)
Devlog_by_0giru
# 테스트 케이스 2 통과 / 실패 def solution(tickets): nation_num = len(tickets) graph = [] graph_new = [] result = [] for inf in tickets: graph.append([inf[0]]) for inf in tickets: for i in range(nation_num): if inf[0] == graph[i][0]: graph[i].append(inf[1]) for inf in graph: if inf not in graph_new: graph_new.append(inf) for inf_new in graph_new: temp1 = inf_new[0] inf_new.sort() temp2 = inf_new.index(tem..
깊이 우선 탐색, Depth_-First-Search(이하 DFS)은 그래프를 탐색하는 대표적인 알고리즘이다. 이름에서 유추할 수 있듯, 하나의 지점에서 가장 깊은 깊이까지 파고들며 탐색을 진행한다. 먼저 그래프는 정점과 간선으로 이루어져 있다. 정점은 노드라고도 부르며 간선은 각 정점을 잇는 선이다. 아래의 그림에서 원 하나를 정점이라고 하고, 정점을 잇는 선이 간선이다. DFS의 주요한 특징은 바로 스택 자료구조를 이용한다는 것이다. DFS를 할 때에는 재귀함수를 주로 이용하게 된다. 왜냐하면, 함수를 호출하게 되면 호출된 함수는 종료되기 전까지 스택 메모리 구조에 남아있게 된다. 따라서 BFS와 달리 Queue나 Dequeue를 따로 만들어 주지 않아도 자동적으로 스택을 이용해서 데이터를 탐색하는 ..
# 바이러스 from collections import deque # N은 노드의 개수 # M은 노드가 연결된 정보의 입력 횟수 N = int(input()) M = int(input()) # BFS알고리즘 활용을 위해 collections 모듈의 deque를 활용 queue = deque() result = [] # 0번 인덱스는 활용하지 않고, 방문 여부를 체크해 줄 리스트 생성. 초기에는 모두 False이다. visited = [False] * (N+1) # 전체 그래프를 표현하기 위한 빈 리스트 생성 graph = [[] for _ in range(N+1)] # 입력 정보를 이용해 그래프 생성을 위한 for 루프 for _ in range(M): i, j = map(int, input().spli..