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

โญ Problem_Solving/๋ฐฑ์ค€30

[๋ฐฑ์ค€] 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.
[๋ฐฑ์ค€] 2206 ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/2206 2206๋ฒˆ: ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ N×M์˜ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„๋˜๋Š” ๋งต์ด ์žˆ๋‹ค. ๋งต์—์„œ 0์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 1์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ๋ฒฝ์ด ์žˆ๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹น์‹ ์€ (1, 1)์—์„œ (N, M)์˜ ์œ„์น˜๊นŒ์ง€ ์ด๋™ํ•˜๋ ค ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ตœ๋‹จ ๊ฒฝ๋กœ www.acmicpc.net ๋ฒฝ์„ ๋ถ€์ˆ˜๋Š” ๊ฑธ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒŒ ํ•ต์‹ฌ์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ 2์ฐจ์› ๋ฐฐ์—ด์— ๋ฒฝ ๋ถ€์ˆ˜๋Š” ๊ฑธ ๋‚˜ํƒ€๋‚ด์ฃผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ๋„ฃ์–ด์„œ bfs๋ฅผ ๋Œ๋ฆฌ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ํŠน์ • ์ง€์  (r, c)์— ๋ฒฝ์„ ๋ถ€์ˆ˜๊ณ  ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•(a)๋ž‘ ๋ฒฝ์„ ๋ถ€์ˆ˜์ง€ ์•Š๊ณ  ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•(b)๊ฐ€ ์žˆ๋Š”๋ฐ, a๊ฐ€ b๋ณด๋‹ค ๊ฑฐ๋ฆฌ๊ฐ€ ์งง์„ ๋•Œ(a < b)์ผ ๋•Œ 2์ฐจ์› ๋ฐฐ์—ด์—์„œ๋Š” a๋งŒ ํ‘œ์‹œ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๋‚˜์ค‘์— ๋ฒฝ์„ ๋ถ€์ˆ˜์ง€ ์•Š๊ณ ๋Š” ํ†ต๊ณผํ•˜์ง€.. 2022. 9. 27.
[๋ฐฑ์ค€] 14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ(Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/14503โ€‹ 14503๋ฒˆ: ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฒญ์†Œํ•˜๋Š” ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์žˆ๋Š” ์žฅ์†Œ๋Š” N×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 1×1ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด www.acmicpc.net โ€‹ ๊ตฌํ˜„ ๋ฌธ์ œ๋ผ ํŠน๋ณ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•„์š” ์—†๊ณ  ๋ฌธ์ œ์— ์ฃผ์–ด์ง„ ๋‚ด์šฉ์„ ์ •์งํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค. ๋ฐฉํ–ฅ ์ฒ˜๋ฆฌ๊ฐ€ ์ข€ ๋ณต์žกํ•ด์„œ ์‹ ๊ฒฝ ์จ์•ผ๋œ๋‹ค.(๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์ด ์ฃผ์–ด์ง€๊ณ  ๊ทธ ์ƒํƒœ์—์„œ ์™ผ์ชฝ์œผ๋กœ ํšŒ์ „ ๋ฐ ์ด๋™, ๋’ค๋กœ ์ด๋™) ์ฒญ์†Œํ•œ ์˜์—ญ์„ ๋ฒฝ์ด๋ž‘ ๋˜‘๊ฐ™์€ 1๋กœ ํ‘œ์‹œํ•˜๋ฉด ์•ˆ๋œ๋‹ค.(-1 ๊ฐ™์ด 0, 1 ํ˜น์€ ๋‹ค๋ฅธ ์ˆซ์ž๋กœ ์ฒ˜๋ฆฌ) # 220827 14503 ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ # ์ •๋‹ต์ฝ”๋“œ import sys input = sys.. 2022. 9. 26.