728x90
반응형

백준 67

[Baekjoon 1916 / python / 골드5] 최소비용 구하기

import heapq import sys INF = int(1e9) input = sys.stdin.readline N = int(input()) # 도시 개수 ( 노드 개수 ) E = int(input()) # 버스 개수 ( 간선 개수 ) graph = [[] for _ in range(N + 1)] for _ in range(E): a, b, c = map(int, input().split()) # 출발노드, 도착노드, 거리 입력받기 graph[a].append([c, b]) # (거리, 도착노드) start, end = map(int, input().split()) # 계산해야 할 출발지, 도착지 distance = [INF] * (N + 1) # 최단 경로 리스트 def dijkstra(star..

[Baekjoon 18352 / python / 실버2] 특정 거리의 도시 찾기

import heapq import sys INF = int(1e9) input = sys.stdin.readline N, E, K, start = map(int, input().split()) # 노드, 간선, 찾을거리, 출발노드 graph = [[] for _ in range(N + 1)] for _ in range(E): a, b = map(int, input().split()) # 출발노드, 도착노드 graph[a].append([1, b]) # 거리(1), 도착노드 distance = [INF] * (N + 1) def dijkstra(start): queue = [] heapq.heappush(queue, (0, start)) # 시작노드거리, 시작노드 큐에 삽입 distance[start] ..

[Baekjoon 2637 / python / 골드2] 장난감 조립

from collections import deque import sys input = sys.stdin.readline N = int(input()) # 노드(부품) 개수 E = int(input()) # 간선 개수 indegree = [0 for _ in range(N + 1)] # 진입차수 담을 리스트 needs = [[0] * (N + 1) for _ in range(N + 1)] # 부품별 요구부품량 담을 리스트 graph = [[] for _ in range(N + 1)] # 연결정보 담을 리스트 for _ in range(E): leaf, root, money = map(int, input().split()) graph[root].append([leaf, money]) indegree[lea..

[Baekjoon 2252 / python / 골드3] 줄 세우기

from collections import deque import sys input = sys.stdin.readline N, E = map(int, input().split()) # 노드, 간선 입력받기 indegree = [0 for _ in range(N + 1)] # 진입차수 저장할 리스트 graph = [[] for _ in range(N + 1)] # 연결정보 저장할 리스트 for _ in range(E): # 연결정보 입력받기 root, edge = map(int, input().split()) graph[root].append(edge) indegree[edge] += 1 # 진입차수 추가하기 def solve(): queue = deque() # 덱 사용 result = [] for i ..

[Baekjoon 14888 / python / 실버1] 연산자 끼워넣기

import sys input = sys.stdin.readline n = int(input()) numList = list(map(int, input().split())) add, sub, mul, div = map(int, input().split()) maxValue = -1e9 minValue = 1e9 def DFS(i, calc): global add, sub, mul, div, maxValue, minValue if i == n: # 수열의 끝에 오면 최대/최솟값 구하기, 수열번호와 인덱스번호 헷갈리지 말자. # 수열번호가 1이면 인덱스번호는 0 maxValue = max(maxValue, calc) minValue = min(minValue, calc) else: if add > 0: ad..

[Baekjoon 11724 / python / 실버2] 연결 요소의 개수

import sys sys.setrecursionlimit(10 ** 9) # 재귀함수 최대깊이 늘려놓기 N, M = map(int, sys.stdin.readline().split()) # 노드개수, 간선개수 graph = [[] for _ in range(N + 1)] # 노드번호와 인덱스를 맞추기 위해 + 1 for _ in range(M): # 연결정보 입력받기 root, edge = map(int, sys.stdin.readline().split()) graph[root].append(edge) graph[edge].append(root) visited = [False] * (N + 1) # 노드번호와 인덱스를 맞추기 위해 + 1 visited[0] = True # 마지막에 False 존재 여부..

Algorithm/DFS 2024.03.30

[Baekjoon 11725 / python / 실버2] 트리의 부모 찾기

import sys sys.setrecursionlimit(10 ** 9) N = int(sys.stdin.readline()) # 노드의 개수 graph = [[] for _ in range(N + 1)] # 노드번호와 인덱스번호 동기화를 위해 N + 1 for _ in range(N - 1): # 연결정보 입력받기 root, edge = map(int, sys.stdin.readline().split()) graph[root].append(edge) graph[edge].append(root) visited = [False] * (N + 1) parent = [[] for _ in range(N + 1)] # 노드번호와 인덱스번호 동기화를 위해 N + 1 def dfs(graph, v, visited..

Algorithm/DFS 2024.03.30

[Baekjoon 2606 / python / 실버3] 바이러스

# DFS/BFS로 모든 노드 탐색 # visited 목록 만들어서 True 갯수 세면 될듯 !! import sys N = int(sys.stdin.readline()) # 노드의 개수 E = int(sys.stdin.readline()) # 간선의 개수 graph = [[] for _ in range(N + 1)] # 노드번호와 동기화 하기 위해 N + 1 for _ in range(E): root, edge = map(int, sys.stdin.readline().split()) # [1,2] 형태로 입력된다. 1번과 2번에 연결되어 있다는 뜻 graph[root].append(edge) # 무방향(양방향) 그래프이기 때문에 대칭되게 입력해 준다 graph[edge].append(root) for ..

Algorithm/DFS 2024.03.30

[Baekjoon 1260 / python / 실버2] DFS와 BFS

from collections import deque import sys def DFS(graph, v, visited): # 인접노드리스트, 시작 노드, 방문목록 visited[v] = True print(v, end=' ') for i in graph[v]: # 현재 노드의 인접 노드로 재귀 if visited[i] == False: # 아직 안 갔으면 가기 DFS(graph, i, visited) def BFS(graph, start, visited): # 인접노드리스트, 시작 노드, 방문목록 queue = deque([start]) # 큐에 시작 노드 넣기 visited[start] = True while queue: v = queue.popleft() # 큐에서 노드 빼고 출력 print(v, ..

Algorithm/DFS 2024.03.29
728x90
반응형