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

โญ Problem_Solving44

[๋ฐฑ์ค€] 14621 ๋‚˜๋งŒ ์•ˆ๋˜๋Š” ์—ฐ์•  (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/14621 14621๋ฒˆ: ๋‚˜๋งŒ ์•ˆ๋˜๋Š” ์—ฐ์•  ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์— ํ•™๊ต์˜ ์ˆ˜ N์™€ ํ•™๊ต๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) ๋‘˜์งธ ์ค„์— ๊ฐ ํ•™๊ต๊ฐ€ ๋‚จ์ดˆ ๋Œ€ํ•™๊ต๋ผ๋ฉด M, ์—ฌ์ดˆ ๋Œ€ํ•™๊ต๋ผ๋ฉด W์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ www.acmicpc.net 1. ๊ธฐ๋ณธ์ ์ธ MST ๋ฌธ์ œ์ด๋‹ค. 2. ๋Œ€ํ•™๊ต ๋‚จ์ดˆ/์—ฌ์ดˆ ์—ฌ๋ถ€๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด์„œ ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋‹ค์Œ ๊ฐ„์„  ์„ ํƒ ์‹œ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋Œ€ํ•™๊ต์ผ ๊ฒฝ์šฐ๋งŒ ์„ ํƒํ•˜๋„๋ก ํ–ˆ๋‹ค. 3. ๊ทธ ์™ธ์—๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” mst๊ฐ€ ์—†์„ ๊ฒฝ์šฐ -1์„ ์ถœ๋ ฅํ•˜๋„๋ก ํ•ด์•ผ๋œ๋‹ค. import sys, os, io, atexit input = lambda: sys.stdin.read.. 2022. 10. 2.
[๋ฐฑ์ค€] 16724 ํ”ผ๋ฆฌ ๋ถ€๋Š” ์‚ฌ๋‚˜์ด (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/16724 16724๋ฒˆ: ํ”ผ๋ฆฌ ๋ถ€๋Š” ์‚ฌ๋‚˜์ด ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ง€๋„์˜ ํ–‰์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N(1 ≤ N ≤ 1,000)๊ณผ ์ง€๋„์˜ ์—ด์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” M(1 ≤ M ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์ง€๋„์˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธธ์ด๊ฐ€ M์ธ ๋ฌธ์ž์—ด์ด ์ฃผ www.acmicpc.net 0. DFS / BFS (+ ์œ ๋‹ˆ์˜จํŒŒ์ธ๋“œ) ๋ฌธ์ œ์ด๋‹ค. ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ์— ๊ด„ํ˜ธ๋ฅผ ์นœ ์ด์œ ๋Š” ์•„๋ž˜ ์„ค๋ช…ํ•˜๊ฒ ์ง€๋งŒ ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ๋ฅผ ์•ˆ ์“ฐ๊ณ  bfs๋งŒ์œผ๋กœ ํ’€์ด ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (์•„๋ž˜ ์„ค๋ช…) 1. ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ ํ’€์ด ์ฃผ์–ด์ง„ ๊ทธ๋ž˜ํ”„์—์„œ dfs๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์ดํด์„ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ์‚ฌ์ดํด์„ ํ•˜๋‚˜์˜ safezone ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์•ผํ•˜๋Š”๋ฐ ์ด ๊ณผ์ •์—์„œ ์œ ๋‹ˆ์˜จ ํŒŒ.. 2022. 10. 2.
[๋ฐฑ์ค€] 2146 ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/2146 2146๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ ์—ฌ๋Ÿฌ ์„ฌ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‚˜๋ผ๊ฐ€ ์žˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๋Œ€ํ†ต๋ น์€ ์„ฌ์„ ์ž‡๋Š” ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๊ณต์•ฝ์œผ๋กœ ์ธ๊ธฐ๋ชฐ์ด๋ฅผ ํ•ด ๋‹น์„ ๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ง‰์ƒ ๋Œ€ํ†ต๋ น์— ์ทจ์ž„ํ•˜์ž, ๋‹ค๋ฆฌ๋ฅผ ๋†“๋Š”๋‹ค๋Š” ๊ฒƒ์ด ์•„๊น๋‹ค www.acmicpc.net 1. ๊ธฐ๋ณธ ์ ‘๊ทผ์€ ๊ฐ๊ฐ์˜ ์„ฌ์— ๋‹ค๋ฅธ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์„ฌ์— ๋Œ€ํ•ด์„œ bfs๋ฅผ ํ†ตํ•ด์„œ ๋‹ค๋ฆฌ์˜ ์ตœ์†Œ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 2. ๋‹ค๋งŒ ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ๊ฐ€ ๋‚˜๊ธฐ ์‰ฌ์›Œ์„œ visited๋ฐฐ์—ด์„ ์ž˜ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋‹ค๋ฆฌ ๊ฑด์„คํ•˜๋Š” bfs ํ•จ์ˆ˜ ์•ˆ์— visited๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ , ์„ฌ์˜ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ visited๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด์„œ ํ•œ ๋ฒˆ ํƒ์ƒ‰ํ•œ ์„ฌ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๋„๋ก ํ–ˆ๋‹ค. 3. ๋‹ค๋ฆฌ๋ฅผ .. 2022. 10. 1.
[๋ฐฑ์ค€] 20055 ์ปจ๋ฒ ์ด์–ด ๋ฒจํŠธ ์œ„์˜ ๋กœ๋ด‡ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/20055 20055๋ฒˆ: ์ปจ๋ฒ ์ด์–ด ๋ฒจํŠธ ์œ„์˜ ๋กœ๋ด‡ ๊ธธ์ด๊ฐ€ N์ธ ์ปจ๋ฒ ์ด์–ด ๋ฒจํŠธ๊ฐ€ ์žˆ๊ณ , ๊ธธ์ด๊ฐ€ 2N์ธ ๋ฒจํŠธ๊ฐ€ ์ด ์ปจ๋ฒ ์ด์–ด ๋ฒจํŠธ๋ฅผ ์œ„์•„๋ž˜๋กœ ๊ฐ์‹ธ๋ฉฐ ๋Œ๊ณ  ์žˆ๋‹ค. ๋ฒจํŠธ๋Š” ๊ธธ์ด 1 ๊ฐ„๊ฒฉ์œผ๋กœ 2N๊ฐœ์˜ ์นธ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์นธ์—๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด 1๋ถ€ www.acmicpc.net 1. ์ฃผ์–ด์ง„ ์กฐ๊ฑด๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. 2. ํฌ๊ฒŒ ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‚˜ ๊ตฌํ˜„์€ ํ•„์š” ์—†๊ณ  ๋ฌธ์ œ ์ฝ๊ณ  ๋‹จ๊ณ„๋ณ„๋กœ ๊ฐ ๋™์ž‘์„ ๊ผผ๊ผผํžˆ ๊ตฌํ˜„ํ•˜๋ฉด ๋ฌด๋‚œํ•˜๊ฒŒ ํ†ต๊ณผ ๋œ๋‹ค. 3. ๋ฒจํŠธ ํšŒ์ „์€ deque์˜ rotate() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ํŽธํ•˜๊ณ  ๋กœ๋ด‡์˜ ๋ฐฐ์—ด ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋ฐํฌ๋ณด๋‹ค ๊ทธ๋ƒฅ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํŽธํ•˜๊ณ  ๋น ๋ฅด๋‹ค. from collections import deque import sys,.. 2022. 9. 30.
[๋ฐฑ์ค€] 2212 ์„ผ์„œ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/2212 2212๋ฒˆ: ์„ผ์„œ ์ฒซ์งธ ์ค„์— ์„ผ์„œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000), ๋‘˜์งธ ์ค„์— ์ง‘์ค‘๊ตญ์˜ ๊ฐœ์ˆ˜ K(1 ≤ K ≤ 1000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์„ผ์„œ์˜ ์ขŒํ‘œ๊ฐ€ ํ•œ ๊ฐœ์˜ ์ •์ˆ˜๋กœ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ขŒํ‘œ ์‚ฌ์ด์—๋Š” ๋นˆ ์นธ์ด ํ•˜๋‚˜ ์žˆ www.acmicpc.net ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ๋ฌธ์ œ์ธ๋ฐ ๋Œ€๋ถ€๋ถ„์˜ ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ๊ฐ€ ๊ทธ๋ ‡๋“ฏ์ด ๊ทธ๋ฆฌ๋””์ธ ๊ฑธ ์•Œ๊ณ  ๋‚˜๋ฉด ์‰ฝ๋‹ค. ๊ทธ๋ฆฌ๋””์ธ ๊ฑธ ์•Œ๊ณ  ํ™•์‹ ํ•˜๊ธฐ๊นŒ์ง€๊ฐ€ ์–ด๋ ค์›Œ์„œ ๊ทธ๋ ‡์ง€... ์„ผ์„œ์™€ ์ง‘์ค‘๊ตญ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ตœ์†Œํ™” ํ•ด์•ผ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ผ์„œ ๊ฐ„ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ํฐ ์ง€์—ญ์ด ์ง‘์ค‘๊ตญ ์ˆ˜์‹  ์˜์—ญ ๋‚ด์— ํฌํ•จ๋˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์„ผ์„œ ๊ฐ„ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด์„œ ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ํฐ ์ง€์—ญ K - 1๊ฐœ๋ฅผ ์ด ์ง€์—ญ์—์„œ ๋นผ์ฃผ๋ฉด ๋œ.. 2022. 9. 29.
[๋ฐฑ์ค€] 3190 ๋ฑ€ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/3190 3190๋ฒˆ: ๋ฑ€ 'Dummy' ๋ผ๋Š” ๋„์Šค๊ฒŒ์ž„์ด ์žˆ๋‹ค. ์ด ๊ฒŒ์ž„์—๋Š” ๋ฑ€์ด ๋‚˜์™€์„œ ๊ธฐ์–ด๋‹ค๋‹ˆ๋Š”๋ฐ, ์‚ฌ๊ณผ๋ฅผ ๋จน์œผ๋ฉด ๋ฑ€ ๊ธธ์ด๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค. ๋ฑ€์ด ์ด๋ฆฌ์ €๋ฆฌ ๊ธฐ์–ด๋‹ค๋‹ˆ๋‹ค๊ฐ€ ๋ฒฝ ๋˜๋Š” ์ž๊ธฐ์ž์‹ ์˜ ๋ชธ๊ณผ ๋ถ€๋”ชํžˆ๋ฉด ๊ฒŒ์ž„์ด ๋๋‚œ๋‹ค. ๊ฒŒ์ž„ www.acmicpc.net ํ์˜ ์„ ์ž…์„ ์ถœ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. ๊ตฌํ˜„ํ•ด์•ผํ•  ์‚ฌํ•ญ๋“ค์€ ๊ฐ„๋žตํ•˜๊ฒŒ ๋‚˜๋ˆ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ฑ€์˜ ์ด๋™ ๊ฒŒ์ž„ ์ข…๋ฃŒ ์กฐ๊ฑด ๋ฒฝ์— ๋ถ€๋”ชํ˜”์„ ๋•Œ(= ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ์„ ๋•Œ) ๋ฑ€์˜ ๋ชธํ†ต์— ๋ถ€๋”ชํ˜”์„ ๋•Œ ์‚ฌ๊ณผ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฑ€์˜ ํฌ๊ธฐ๋ฅผ ์‚ฌ๊ณผ๊ฐ€ ์žˆ๋Š” ์˜์—ญ ํ•œ ์นธ๋งŒํผ ๋Š˜๋ ค์ค€๋‹ค. ์‚ฌ๊ณผ๊ฐ€ ์—†์„ ๋•Œ ๋ฑ€์˜ ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•œ ์ฑ„ ์‚ฌ๊ณผ๊ฐ€ ์žˆ๋Š” ์˜์—ญ์œผ๋กœ ํ•œ ์นธ ์ด๋™ ์‹œ์ผœ์ค€๋‹ค.(๊ผฌ๋ฆฌ -1) ๋ฑ€์˜ ๋ชธํ†ต์€ ๋ฑ€์ด ์ด๋™ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ.. 2022. 9. 28.