๐Ÿ—๏ธ Algorithm 344

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 3184๋ฒˆ_์–‘

๋ฌธ์ œ https://www.acmicpc.net/problem/3184 3184๋ฒˆ: ์–‘ ์ฒซ ์ค„์—๋Š” ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ(3 ≤ R, C ≤ 250), ๊ฐ ์ˆ˜๋Š” ๋งˆ๋‹น์˜ ํ–‰๊ณผ ์—ด์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์Œ R๊ฐœ์˜ ์ค„์€ C๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด๋“ค์€ ๋งˆ๋‹น์˜ ๊ตฌ์กฐ(์šธํƒ€๋ฆฌ, ์–‘, ๋Š‘๋Œ€์˜ ์œ„์น˜)๋ฅผ ์˜๋ฏธํ•œ๋‹ค. www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 3184๋ฒˆ ๋ฌธ์ œ - ์–‘ from collections import deque r, c = map(int, input().split()) graph = [list(map(str, input())) for _ in range(r)] dx, dy = [0,0,-1,1], [1,-1,0,0] def bfs(x, y): q = deque() q.append((x, y)) v..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 1743๋ฒˆ_์Œ์‹๋ฌผ ํ”ผํ•˜๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/1743 1743๋ฒˆ: ์Œ์‹๋ฌผ ํ”ผํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ํ†ต๋กœ์˜ ์„ธ๋กœ ๊ธธ์ด N(1 ≤ N ≤ 100)๊ณผ ๊ฐ€๋กœ ๊ธธ์ด M(1 ≤ M ≤ 100) ๊ทธ๋ฆฌ๊ณ  ์Œ์‹๋ฌผ ์“ฐ๋ ˆ๊ธฐ์˜ ๊ฐœ์ˆ˜ K(1 ≤ K ≤ N×M)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ K๊ฐœ์˜ ์ค„์— ์Œ์‹๋ฌผ์ด ๋–จ์–ด์ง„ ์ขŒํ‘œ (r, c)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1743๋ฒˆ ๋ฌธ์ œ - ์Œ์‹๋ฌผ ํ”ผํ•˜๊ธฐ from collections import deque dx, dy = [0,0,-1,1], [1,-1,0,0] n, m, k = map(int, input().split()) graph = [[0]*m for _ in range(n)] for _ in range(k): a, b = map(int, inp..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 9465๋ฒˆ_์Šคํ‹ฐ์ปค

๋ฌธ์ œ https://www.acmicpc.net/problem/9465 9465๋ฒˆ: ์Šคํ‹ฐ์ปค ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” n (1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ๋‘ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ •์ˆ˜๋Š” ๊ทธ ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” ์Šคํ‹ฐ์ปค์˜ www.acmicpc.net ํ’€์ด t = int(input()) for i in range(t): s = [] n = int(input()) for k in range(2): s.append(list(map(int, input().split()))) for j in range(1, n): if j == 1: s[0][j] += s[1][j - 1] s[1][j] += s[0][j - 1] else: s[0][..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 11052๋ฒˆ_์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ 2

๋ฌธ์ œ https://www.acmicpc.net/problem/11052 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11052๋ฒˆ ๋ฌธ์ œ - ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ n = int(input()) p = [0] + list(map(int, input().split())) dp = [0 for _ in range(n+1)] for i in range(1, n+1): for k in range(1, i+1): dp[i] = max(dp[i], dp[i-k] + p[k]) print(dp[i])

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 17086๋ฒˆ_์•„๊ธฐ ์ƒ์–ด 2

๋ฌธ์ œ https://www.acmicpc.net/problem/17086 17086๋ฒˆ: ์•„๊ธฐ ์ƒ์–ด 2 ์ฒซ์งธ ์ค„์— ๊ณต๊ฐ„์˜ ํฌ๊ธฐ N๊ณผ M(2 ≤ N, M ≤ 50)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ณต๊ฐ„์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, 0์€ ๋นˆ ์นธ, 1์€ ์•„๊ธฐ ์ƒ์–ด๊ฐ€ ์žˆ๋Š” ์นธ์ด๋‹ค. ๋นˆ ์นธ๊ณผ ์ƒ์–ด์˜ ์ˆ˜๊ฐ€ ๊ฐ๊ฐ ํ•œ ๊ฐœ ์ด์ƒ์ธ ์ž…๋ ฅ๋งŒ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 17086๋ฒˆ ๋ฌธ์ œ - ์•„๊ธฐ ์ƒ์–ด 2 from collections import deque dx = [0,0,-1,1,1,1,-1,-1] dy = [1,-1,0,0,1,-1,1,-1] n, m = map(int, input().split()) graph = [list(map(int, input().split(' '))) for _ in range(n)..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 11060๋ฒˆ_์ ํ”„ ์ ํ”„

๋ฌธ์ œ https://www.acmicpc.net/problem/11060 11060๋ฒˆ: ์ ํ”„ ์ ํ”„ ์žฌํ™˜์ด๊ฐ€ 1×N ํฌ๊ธฐ์˜ ๋ฏธ๋กœ์— ๊ฐ‡ํ˜€์žˆ๋‹ค. ๋ฏธ๋กœ๋Š” 1×1 ํฌ๊ธฐ์˜ ์นธ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ ์นธ์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์“ฐ์—ฌ ์žˆ๋‹ค. i๋ฒˆ์งธ ์นธ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋ฅผ Ai๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ์žฌํ™˜์ด๋Š” Ai์ดํ•˜๋งŒํผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11060๋ฒˆ ๋ฌธ์ œ - ์ ํ”„ ์ ํ”„ import collections n=int(input()) arr=list(map(int, input().split())) dp=[1e9 for _ in range(n)] def bfs(): q=collections.deque() q.append((0, 0)) dp[0]=0 while q: cur, cnt=q.popleft() if ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 2210๋ฒˆ_์ˆซ์žํŒ ์ ํ”„

๋ฌธ์ œ https://www.acmicpc.net/problem/2210 2210๋ฒˆ: ์ˆซ์žํŒ ์ ํ”„ 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 ์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๋“ค์ด๋‹ค. www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2210๋ฒˆ ๋ฌธ์ œ - ์ˆซ์žํŒ ์ ํ”„ from collections import deque dx, dy = [0,0,-1,1], [1,-1,0,0] graph = [list(map(str, input().split(' '))) for _ in range(5)] def dfs(x, y, number): if len(number) == 6: i..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 5567๋ฒˆ_๊ฒฐํ˜ผ์‹

๋ฌธ์ œ https://www.acmicpc.net/problem/5567 5567๋ฒˆ: ๊ฒฐํ˜ผ์‹ ์˜ˆ์ œ 1์˜ ๊ฒฝ์šฐ 2์™€ 3์€ ์ƒ๊ทผ์ด์˜ ์นœ๊ตฌ์ด๋‹ค. ๋˜, 3๊ณผ 4๋Š” ์นœ๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์—, 4๋Š” ์ƒ๊ทผ์ด์˜ ์นœ๊ตฌ์˜ ์นœ๊ตฌ์ด๋‹ค. 5์™€ 6์€ ์นœ๊ตฌ๋„ ์•„๋‹ˆ๊ณ , ์นœ๊ตฌ์˜ ์นœ๊ตฌ๋„ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2, 3, 4 3๋ช…์˜ ์นœ๊ตฌ๋ฅผ ๊ฒฐํ˜ผ์‹์— ์ดˆ๋Œ€ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 5567๋ฒˆ ๋ฌธ์ œ - ๊ฒฐํ˜ผ์‹ from sys import stdin n = int(stdin.readline().strip()) graph = [[] for _ in range(n + 1)] visited = [0] * (n + 1) for _ in range(int(stdin.readline().strip())): x, y = map(int, stdin.readl..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 11055๋ฒˆ_๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด

๋ฌธ์ œ https://www.acmicpc.net/problem/11055 11055๋ฒˆ: ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ˆ˜์—ด์˜ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘์—์„œ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ๊ฒƒ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์šฐ์— ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11055๋ฒˆ ๋ฌธ์ œ - ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด n = int(input()) numbers = list(map(int, input().split())) dp = numbers[:] dp[0] = numbers[0] for i in range(1, n): for j in range(i): if numbers[j] < nu..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] 17413๋ฒˆ_๋‹จ์–ด ๋’ค์ง‘๊ธฐ 2

๋ฌธ์ œ https://www.acmicpc.net/problem/17413 17413๋ฒˆ: ๋‹จ์–ด ๋’ค์ง‘๊ธฐ 2 ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ๋ฌธ์ž์—ด์—์„œ ๋‹จ์–ด๋งŒ ๋’ค์ง‘์œผ๋ ค๊ณ  ํ•œ๋‹ค. ๋จผ์ €, ๋ฌธ์ž์—ด S๋Š” ์•„๋ž˜์™€๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ์ง€ํ‚จ๋‹ค. ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž('a'-'z'), ์ˆซ์ž('0'-'9'), ๊ณต๋ฐฑ(' '), ํŠน์ˆ˜ ๋ฌธ์ž('')๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 17413๋ฒˆ ๋ฌธ์ œ - ๋‹จ์–ด ๋’ค์ง‘๊ธฐ 2 s = list(input()) tag = False word = '' result = '' for i in s: if tag == False: if i == '': tag = False result = result + word word = '' print(result + word)