[백준] 1504번 : 특정한 최단 경로 (파이썬)
·
Algorithm/Graph
Dijkstra 문제https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존www.acmicpc.net 💡 풀이코드 1  (성공)import sysimport heapqimport copynode, edge = map(int, sys.stdin.readline().split())graph = [[] for _ in range(node + 1)]visited = [[False] for _ in range(node + 1)]for i in ..
[백준] 9084번 : 동전 (파이썬)
·
Algorithm/DP
DP 문제https://www.acmicpc.net/problem/9084 9084번: 동전우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는www.acmicpc.net 💡 풀이 코드import syst = int(sys.stdin.readline())for _ in range(t): n = int(sys.stdin.readline()) c = list(map(int, sys.stdin.readline().split())) price = int(sys.stdin.readline()) dp = [[0] * (price +..
[백준] 2294번 : 동전 2 (파이썬)
·
Algorithm/DP
DP 문제https://www.acmicpc.net/problem/2294 2294번: 동전 2첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어www.acmicpc.net 💡 풀이 코드import sysn, k = map(int, sys.stdin.readline().split())coin = []for _ in range(n): value = int(sys.stdin.readline()) coin.append(value)dp = [10001] * (k + 1)dp[0] = 0def coin2(n, coin, k):..
[백준] 2170번 : 선 긋기 (파이썬)
·
Algorithm/Swifting
정렬 + 스위핑 문제https://www.acmicpc.net/problem/2170 2170번: 선 긋기첫째 줄에 선을 그은 횟수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y (-1,000,000,000 ≤ x www.acmicpc.net 💡 풀이 코드 import sysn = int(sys.stdin.readline())line = []for _ in range(n): start, end = map(int, sys.stdin.readline().split()) line.append((start, end))line.sort()last = -sys.maxsizeanswer = 0for start, end in line: ..
[백준] 14502번 : 연구소 (파이썬)
·
Algorithm/Graph
BFS + 백트래킹 문제 https://www.acmicpc.net/problem/14502 14502번: 연구소인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크www.acmicpc.net 0 - 빈 칸1 - 벽2 - 바이러스 처음에 생각한 방식 이것도 처음에 패턴 찾아서 쌩자 구현하려 했는데, 불가능이다. 그 이유는 바이러스(2)가 벽(1)을 만날때까지 상하좌우로 이동하며 벽(0)을 바이러스(2)로 감염시키기 때문이다. 즉, 패턴을 찾을 수 없다. 접근 방식바이러스들(2)의 위치에서 동시에 퍼져야 하므로 BFS벽을 무조건 3개 세워야 하는데, 바이러스가 최대한 퍼지지 않는..
[백준] 2206번 : 벽 부수고 이동하기 (파이썬)
·
Algorithm/Graph
BFS 문제 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로www.acmicpc.net (1) 처음에 생각한 방식 - V1 (실패)# 벽 부수고 이동하기 (골드 3) / BFSimport sysfrom collections import dequen, m = map(int, sys.stdin.readline().split())graph = [[] for _ in range(n)]visited = [[False] * m for _ in range(n)]..
_은선_
'분류 전체보기' 카테고리의 글 목록 (10 Page)