Github & Portfolio
๐ Problem Solving/Baekjoon(73)
-
[๋ฐฑ์ค-2583] ์์ญ ๊ตฌํ๊ธฐ / Python
https://www.acmicpc.net/problem/2583 2583๋ฒ: ์์ญ ๊ตฌํ๊ธฐ ์ฒซ์งธ ์ค์ M๊ณผ N, ๊ทธ๋ฆฌ๊ณ K๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. M, N, K๋ ๋ชจ๋ 100 ์ดํ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ K๊ฐ์ ์ค์๋ ํ ์ค์ ํ๋์ฉ ์ง์ฌ๊ฐํ์ ์ผ์ชฝ ์๋ ๊ผญ์ง์ ์ x, y์ขํ๊ฐ๊ณผ ์ค www.acmicpc.net from collections import deque m, n, k = map(int, input().split()) graph = [[0] * n for i in range(m)] dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] l = [] for i in range(k): x1, y1, x2, y2 = map(int, input().split()) for..
-
[๋ฐฑ์ค-13549] ์จ๋ฐ๊ผญ์ง 3 / Python
13549๋ฒ: ์จ๋ฐ๊ผญ์ง 3 ์๋น์ด๋ ๋์๊ณผ ์จ๋ฐ๊ผญ์ง์ ํ๊ณ ์๋ค. ์๋น์ด๋ ํ์ฌ ์ N(0 ≤ N ≤ 100,000)์ ์๊ณ , ๋์์ ์ K(0 ≤ K ≤ 100,000)์ ์๋ค. ์๋น์ด๋ ๊ฑท๊ฑฐ๋ ์๊ฐ์ด๋์ ํ ์ ์๋ค. ๋ง์ฝ, ์๋น์ด์ ์์น๊ฐ X์ผ www.acmicpc.net from collections import deque n, k = map(int, input().split()) graph = [0] * 100001 dx = [-1, 1, 2] def bfs(start): queue = deque() queue.append(start) while queue: x = queue.popleft() if x == k: print(graph[x]) break for i in range(3): if i ..
-
[๋ฐฑ์ค-1916] ์ต์๋น์ฉ ๊ตฌํ๊ธฐ / Python
1916๋ฒ: ์ต์๋น์ฉ ๊ตฌํ๊ธฐ ์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ ๋ฒ์ค์ ๊ฐ์ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์งธ ์ค๋ถํฐ M+2์ค๊น์ง ๋ค์๊ณผ ๊ฐ์ ๋ฒ์ค์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค. ๋จผ์ ์ฒ์์๋ ๊ทธ www.acmicpc.net import sys import heapq INF = int(1e9) n = int(input()) m = int(input()) graph = [[] for _ in range(n + 1)] distance = [INF] * (n + 1) for _ in range(m): a, b, c = map(int, input().split()) graph[a].append((b, c)) start, end = map(int, input..
-
[๋ฐฑ์ค-1753] ์ต๋จ๊ฒฝ๋ก / Python
https://www.acmicpc.net/problem/1753 1753๋ฒ: ์ต๋จ๊ฒฝ๋ก ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ V์ ๊ฐ์ ์ ๊ฐ์ E๊ฐ ์ฃผ์ด์ง๋ค. (1≤V≤20,000, 1≤E≤300,000) ๋ชจ๋ ์ ์ ์๋ 1๋ถํฐ V๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ๋์งธ ์ค์๋ ์์ ์ ์ ์ ๋ฒํธ K(1≤K≤V)๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net import sys import heapq INF = int(1e9) V, E = map(int, sys.stdin.readline().split()) k = int(sys.stdin.readline()) graph = [[] for _ in range(V + 1)] distance = [INF] * (V + E) for _ in range(E): u, v, w = ma..
-
[๋ฐฑ์ค-1912] ์ฐ์ํฉ / Python
https://www.acmicpc.net/problem/1912 1912๋ฒ: ์ฐ์ํฉ ์ฒซ์งธ ์ค์ ์ ์ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ n๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ง๋ค. ์๋ -1,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. www.acmicpc.net n = int(input()) arr = list(map(int, input().split())) d = [0] * n d[0] = arr[0] for i in range(1, n): d[i] = max(arr[i - 1] + arr[i], arr[i], d[i - 1] + arr[i]) print(max(d)) ํด์ค ๊ฐ๋จํ DP ๋ฌธ์ ์๋ค. d[i] = max(arr[i - 1] + arr[i], arr[i..
-
[๋ฐฑ์ค-11053] ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด / Python
https://www.acmicpc.net/problem/11053 11053๋ฒ: ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด ์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์์ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ A = {10, 20, 10, 30, 20, 50} ์ด www.acmicpc.net n = int(input()) arr = list(map(int, input().split())) d = [0] * n for i in range(n): for j in range(i): if arr[i] > arr[j] and d[i] < d[j]: d[i] = d[j] d[i] += 1 print(max(d)) ํด์ค..