๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

4๏ธโƒฃ Python/Problem Solving52

[Python Algorithm] ํ”Œ๋กœ์ด๋“œ BOJ #11404 ๋ฌธ์ œ https://www.acmicpc.net/problem/11404 11404๋ฒˆ: ํ”Œ๋กœ์ด๋“œ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ ๋ฒ„์Šค์˜ ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys import math n = int(sys.stdin.readline().strip()) m = int(sys.stdin.readline().strip()) INF = math.inf table = [[INF for _ in range(n)] for _ in range(n)] for _ in range(m): a, b, c = map(int, sys.stdi.. 2022. 6. 23.
[Python Algorithm] ๊ฒฝ๋กœ ์ฐพ๊ธฐ BOJ #11403 (feat. BFS, ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ) ๋ฌธ์ œ https://www.acmicpc.net/problem/11403 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด (BFS) import sys sys.setrecursionlimit(10 ** 6) n = int(sys.stdin.readline().strip()) table = [] for _ in range(n): table.append(list(map(int, sys.stdin.readline().strip().split()))) result = table def bfs(queue, find, checkList): idx =.. 2022. 6. 23.
[Python Algorithm] ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š” BOJ #1655 ๋ฌธ์ œ https://www.acmicpc.net/problem/1655 1655๋ฒˆ: ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š” ์ฒซ์งธ ์ค„์—๋Š” ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ N์ค„์— ๊ฑธ์ณ์„œ ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ •์ˆ˜๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ •์ˆ˜๋Š” -1 www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys import heapq n = int(sys.stdin.readline().strip()) left = [] right = [] for _ in range(n): now = int(sys.stdin.readline().strip()) if len(left) == len(right): heapq.heappush(left, -now) else: .. 2022. 6. 14.
[Python Algorithm] ๊ฐ•์˜์‹ค ๋ฐฐ์ • BOJ #11000 ๋ฌธ์ œ https://www.acmicpc.net/problem/11000 11000๋ฒˆ: ๊ฐ•์˜์‹ค ๋ฐฐ์ • ์ฒซ ๋ฒˆ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200,000) ์ดํ›„ N๊ฐœ์˜ ์ค„์— Si, Ti๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys import heapq n = int(sys.stdin.readline().strip()) times = [] # ์ž…๋ ฅ๋˜๋Š” ๊ฐ•์˜ ์‹œ๊ฐ„๋“ค์„ ํŠœํ”Œ ํ˜•ํƒœ๋กœ ์ €์žฅ rooms = [] # ๊ฐ ์›์†Œ๊ฐ€ ํ•˜๋‚˜์˜ ๊ฐ•์˜์‹ค์„ ๋œปํ•˜๋Š” ๋ฐฐ์—ด for _ in range(n): (start, end) = map(int, sys.stdin.readline().strip().split()) times.append((start, end).. 2022. 6. 13.
[Python Algorithm] ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ BOJ #11052 ๋ฌธ์ œ https://www.acmicpc.net/problem/11052 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด n = int(input()) p = list(map(int, input().split())) p.insert(0, 0) dp = [[0 for _ in range(n+1)] for _ in range(n+1)] for i in range(1, n+1): for j in range(1, n+1): if i == 1: dp[i][j] = p[i] * j elif i > j: dp[i][.. 2022. 5. 26.