[๋ฐฑ์ค€] 28017 ๊ฒŒ์ž„์„ ํด๋ฆฌ์–ดํ•˜์ž (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/28017 28017๋ฒˆ: ๊ฒŒ์ž„์„ ํด๋ฆฌ์–ดํ•˜์ž ์ฒซ์งธ ์ค„์— ์‚ฐ์ง€๋‹ˆ๊ฐ€ ๊ฒŒ์ž„์„ ๋ช‡ ํšŒ์ฐจ๋ฅผ ํ•˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜ $N$๊ณผ ๋ฌด๊ธฐ์˜ ์ข…๋ฅ˜ $M$์ด ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. $(2 \le N, M \le 500)$ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ $N$๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๋ฌด๊ธฐ๋งˆ๋‹ค ๊ฒŒ์ž„์„ ํด๋ฆฌ์–ดํ•˜๋Š”๋ฐ www.acmicpc.net ๋Œ€ํšŒ ์ดˆ๋ฐ˜์— ์‚ฝ์ง‘ํ•˜๋‹ค๊ฐ€ DP์ธ๊ฑธ ๊นจ๋‹ซ๊ณ  ํ•ด๊ฒฐํ–ˆ๋‹ค. pypy๋กœ ์ œ์ถœ, ์ดํ›„ python์œผ๋กœ ๋‹ค์‹œ ์ œ์ถœ. ์•„์ด๋””์–ด 1. ๋ฐ˜๋ณต๋ฌธ ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค ์‹คํŒจํ–ˆ๋‹ค. 2. DP nํšŒ์ฐจ์˜ ๊ฐ ๋ฌด๊ธฐ๋งˆ๋‹ค ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๋ฉด ๋œ๋‹ค. ์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์ด์ „ ํ–‰์— ์žˆ๋Š” ๊ฐ’ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๋‹ค์Œ ํ–‰์— ๋”ํ•ด๊ฐ€๋ฉฐ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๋งˆ์ง€๋ง‰ ํ–‰์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ์ „..
[๋ฐฑ์ค€] 9205 ๋งฅ์ฃผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/9205 9205๋ฒˆ: ๋งฅ์ฃผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ ์†ก๋„์— ์‚ฌ๋Š” ์ƒ๊ทผ์ด์™€ ์นœ๊ตฌ๋“ค์€ ์†ก๋„์—์„œ ์—ด๋ฆฌ๋Š” ํŽœํƒ€ํฌํŠธ ๋ฝ ํŽ˜์Šคํ‹ฐ๋ฒŒ์— ๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. ์˜ฌํ•ด๋Š” ๋งฅ์ฃผ๋ฅผ ๋งˆ์‹œ๋ฉด์„œ ๊ฑธ์–ด๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ถœ๋ฐœ์€ ์ƒ๊ทผ์ด๋„ค ์ง‘์—์„œ ํ•˜๊ณ , ๋งฅ์ฃผ ํ•œ ๋ฐ•์Šค๋ฅผ ๋“ค๊ณ  ์ถœ๋ฐœํ•œ๋‹ค. www.acmicpc.net ๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ์ธ ์ค„ ๋ชจ๋ฅด๊ณ  ์‚ฝ์งˆํ–ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ์–ด๋ณด์ž. ์•„์ด๋””์–ด 1. ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์‹ฌํ”Œํ•˜๊ฒŒ ๋งฅ์ฃผ 20๋ณ‘ = 1000m๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  1000m๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. bfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ๋‹ค. ์ „์ฒด ์ฝ”๋“œ from collections import deque def cal_distance(x, y, nx, ny): return abs(nx - x) + abs(ny -..
[๋ฐฑ์ค€] 1759 ์•”ํ˜ธ๋งŒ๋“ค๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1759 1759๋ฒˆ: ์•”ํ˜ธ ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ L, C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (3 ≤ L ≤ C ≤ 15) ๋‹ค์Œ ์ค„์—๋Š” C๊ฐœ์˜ ๋ฌธ์ž๋“ค์ด ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž๋“ค์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์ด๋ฉฐ, ์ค‘๋ณต๋˜๋Š” ๊ฒƒ์€ ์—†๋‹ค. www.acmicpc.net ์ฒ˜์Œ์—๋Š” itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆœ์—ด์„ ๊ตฌํ•˜๊ณ , ๊ฐ ์ˆœ์—ด๋งˆ๋‹ค ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ–ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ ๋˜์—ˆ๋‹ค. ์ƒ๊ฐํ•ด ๋ณด๋ฉด ์ตœ๋Œ€ ๊ฒฝ์šฐ๊ฐ€ 15P15๊นŒ์ง€ ๋‚˜์˜ค๋ฏ€๋กœ ์ด ๋ฐฉ๋ฒ•์€ ๋‹น์—ฐํžˆ ์•„๋‹ˆ์—ˆ๋‹ค. ์•”ํ˜ธ๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹Œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์•”ํ˜ธ๋ฅผ ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ์•„์ด๋””์–ด 1. ์•”ํ˜ธ ์กฐ๊ฑด ์•”ํ˜ธ์— ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์„ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ(aescend)๋กœ ๋ฐฐ์—ด๋˜์—ˆ๋‹ค. ์•”ํ˜ธ์—๋Š” ๋ชจ์Œ 1๊ฐœ..
[๋ฐฑ์ค€] 11559 puyopuyo (ํŒŒ์ด์ฌ python)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/11559 11559๋ฒˆ: Puyo Puyo ์ด 12๊ฐœ์˜ ์ค„์— ํ•„๋“œ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ค„์—๋Š” 6๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค. ์ด๋•Œ .์€ ๋นˆ๊ณต๊ฐ„์ด๊ณ  .์ด ์•„๋‹Œ๊ฒƒ์€ ๊ฐ๊ฐ์˜ ์ƒ‰๊น”์˜ ๋ฟŒ์š”๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. R์€ ๋นจ๊ฐ•, G๋Š” ์ดˆ๋ก, B๋Š” ํŒŒ๋ž‘, P๋Š” ๋ณด๋ผ, Y๋Š” ๋…ธ๋ž‘์ด๋‹ค. www.acmicpc.net bfs๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด ์ „์ฒด ์ฝ”๋“œ from collections import deque dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] field_info = [] for _ in range(12): field_info.append(list(input())) def bfs(a, b, c): global boom_flag boom_li..
[๋ฐฑ์ค€] 2583 ์˜์—ญ ๊ตฌํ•˜๊ธฐ(python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/2583 2583๋ฒˆ: ์˜์—ญ ๊ตฌํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— M๊ณผ N, ๊ทธ๋ฆฌ๊ณ  K๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค. M, N, K๋Š” ๋ชจ๋‘ 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ K๊ฐœ์˜ ์ค„์—๋Š” ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ง์‚ฌ๊ฐํ˜•์˜ ์™ผ์ชฝ ์•„๋ž˜ ๊ผญ์ง“์ ์˜ x, y์ขŒํ‘œ๊ฐ’๊ณผ ์˜ค www.acmicpc.net ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ํ•˜๋Š” ๋ฌธ์ œ. ๋น„์Šทํ•œ ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ดค์œผ๋ฉด ์‰ฌ์šด ๋ฌธ์ œ. ์•„์ด๋””์–ด 1. ๋ชจ๋ˆˆ์ข…์ด M*N ํฌ๊ธฐ์˜ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋กœ ๋ชจ๋ˆˆ์ข…์ด๋ฅผ ๋‚˜ํƒ€๋ƒˆ๋‹ค. ์ฃผ์–ด์ง„ ์ง์‚ฌ๊ฐํ˜• ์ขŒํ‘œ์— ๋”ฐ๋ผ ์ง์‚ฌ๊ฐํ˜•์„ ํ‘œํ˜„ํ•ด์ค€๋‹ค. 1์€ ์ง์‚ฌ๊ฐํ˜•, 0์€ ๋นˆ๊ณต๊ฐ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ฌธ์ œ์—์„œ๋Š” ์ขŒํ‘œ๊ฐ€ ์™ผ์ชฝ ์•„๋ž˜๊ฐ€ ์›์ (0, 0)์ด์ง€๋งŒ, ๋ฆฌ์ŠคํŠธ๋Š” ์™ผ์ชฝ ์œ„๊ฐ€ ์›์ ์ด๋‹ค. ์–ด์ฐจํ”ผ ๊ฐ€๋กœ์ถ•์— ๋Œ€ํ•ด ๋Œ€์นญ์ด๋ฏ€๋กœ ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•œ ๊ฐ’์„ ๊ตฌํ•˜๋Š”..
[๋ฐฑ์ค€] 14938 ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/14938 14938๋ฒˆ: ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ ์˜ˆ์€์ด๋Š” ์š”์ฆ˜ ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒŒ์ž„ ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ๋ฅผ ์ฆ๊ธฐ๊ณ  ์žˆ๋‹ค. ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ๋Š” ์—ฌ๋Ÿฌ ์ง€์—ญ์ค‘ ํ•˜๋‚˜์˜ ์ง€์—ญ์— ๋‚™ํ•˜์‚ฐ์„ ํƒ€๊ณ  ๋‚™ํ•˜ํ•˜์—ฌ, ๊ทธ ์ง€์—ญ์— ๋–จ์–ด์ ธ ์žˆ๋Š” ์•„์ดํ…œ๋“ค์„ ์ด์šฉํ•ด ์„œ๋ฐ”์ด๋ฒŒ์„ www.acmicpc.net ์กฐ๊ฑด๋งŒ ์ž˜ ์ƒ๊ฐํ•˜๋ฉด ๋˜๋Š” ์ฐฉํ•œ ๋ฌธ์ œ. ์•„์ด๋””์–ด 1. ๋‹ค์ต์ŠคํŠธ๋ผ ์ถœ๋ฐœ์ง€๋กœ ๋ถ€ํ„ฐ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ์ˆ˜์ƒ‰ ๋ฒ”์œ„์•ˆ์— ๋“ค์–ด๊ฐ€๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. ์ˆ˜์ƒ‰ ๋ฒ”์œ„์•ˆ์— ๋“ค์–ด์˜ค๋ฉด ์•„์ดํ…œ ๊ฐœ์ˆ˜๋ฅผ ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 1 ~ n๊นŒ์ง€ for๋ฌธ์œผ๋กœ ์ถœ๋ฐœ์ง€๋ฅผ ๋ฐ”๊พธ๋ฉด์„œ ํƒ์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค. 2. ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์ง€์—ญ์˜ ๊ฐœ์ˆ˜(100)๊ฐ€ ์ ์œผ๋ฏ€๋กœ ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ๋กœ ํ’€์–ด๋„ ์‹œ๊ฐ„์ดˆ๊ณผ์— ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ์ „์ฒด ์ฝ”๋“œ ๋‹ค์ต์ŠคํŠธ๋ผ import heapq imp..
[๋ฐฑ์ค€]11660 ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/11660 11660๋ฒˆ: ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 ์ฒซ์งธ ์ค„์— ํ‘œ์˜ ํฌ๊ธฐ N๊ณผ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ํ‘œ์— ์ฑ„์›Œ์ ธ ์žˆ๋Š” ์ˆ˜๊ฐ€ 1ํ–‰๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๋„ค www.acmicpc.net ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 2์ฐจ์› ๋ฒ„์ „ ์•„์ด๋””์–ด 1. ๋ˆ„์  ํ•ฉ ์‚ฌ์šฉ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค ๋จผ์ € (0 ,0)์—์„œ (x , y)๊นŒ์ง€์˜ ํ•ฉ์„ arr [x][y]์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฑธ ์‚ฌ์šฉํ•ด์„œ ๊ตฌ๊ฐ„ ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (1, 1)์—์„œ (2, 3)๊นŒ์ง€ ๊ตฌํ•˜๋ ค๋ฉด(๋ฌธ์ œ์—์„œ๋Š” 2,2 ~ 3,4) arr [2][3]..
[๋ฐฑ์ค€] 10942 ํŒฐ๋ฆฐ๋“œ๋กฌ? (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/10942 10942๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ? ์ด M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ํ™์ค€์ด์˜ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋ช…์šฐ์˜ ๋‹ต์„ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ์ถœ๋ ฅํ•œ๋‹ค. ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ๊ฒฝ์šฐ์—๋Š” 1, ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฐฐ์—ด์—์„œ i๋ถ€ํ„ฐ j๊นŒ์ง€๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ์•„๋‹Œ์ง€ ์—ฌ๋Ÿฌ ๋ฒˆ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ. ์•„์ด๋””์–ด 1. dp ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์œผ๋กœ๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜์„œ dp๋ฅผ ์‚ฌ์šฉ i๋ฒˆ์งธ๋ถ€ํ„ฐ j๊นŒ์ง€์˜ ์ˆ˜๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ํ™•์ธํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. 2. ์ ํ™”์‹ ๋จผ์ € ๋ฌด์กฐ๊ฑด ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ i๋ถ€ํ„ฐ i๊นŒ์ง€์˜ ์ˆ˜๋Š” 1๋กœ ์ €์žฅํ•ด๋‘”๋‹ค. ๊ทธ๋ฆฌ๊ณ  i๋ฒˆ์งธ ์ˆ˜์™€ i + 1๋ฒˆ์งธ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋‹ˆ๊นŒ ์ด๊ฒƒ๋„ 1๋กœ ์ €์žฅ. ์ ํ™”์‹์€ ์ด๋ฏธ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ์ˆ˜ ..