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

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

[๋ฐฑ์ค€] 17471 ๊ฒŒ๋ฆฌ๋งจ๋”๋ง (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/17471 17471๋ฒˆ: ๊ฒŒ๋ฆฌ๋งจ๋”๋ง ์„ ๊ฑฐ๊ตฌ๋ฅผ [1, 4], [2, 3, 5, 6]์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ๊ฐ ์„ ๊ฑฐ๊ตฌ์˜ ์ธ๊ตฌ๋Š” 9, 8์ด ๋œ๋‹ค. ์ธ๊ตฌ ์ฐจ์ด๋Š” 1์ด๊ณ , ์ด ๊ฐ’๋ณด๋‹ค ๋” ์ž‘์€ ๊ฐ’์œผ๋กœ ์„ ๊ฑฐ๊ตฌ๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜๋Š” ์—†๋‹ค. www.acmicpc.net 1. ๋ถ€๋ถ„์ง‘ํ•ฉ / ์กฐํ•ฉ์„ ํ†ตํ•ด์„œ ๋‘ ์„ ๊ฑฐ๊ตฌ๋ฅผ ๊ตฌํ•œ ๋‹ค์Œ, ํ•ด๋‹น ์„ ๊ฑฐ๊ตฌ ๋‚ด์˜ ์ธ๊ตฌ์ˆ˜์™€ ๊ตฌ์—ญ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ๋ชจ๋“  ๊ตฌ์—ญ์ด ํฌํ•จ๋˜์—ˆ์„ ๊ฒฝ์šฐ์—๋งŒ ์ •๋‹ต์„ ๊ฐฑ์‹ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 2. ์กฐํ•ฉ์„ ๊ตฌํ•  ๋•Œ ์–ด์ฐจํ”ผ ์กฐํ•ฉ์— ํฌํ•จ๋˜์ง€ ๋ชปํ•œ ๊ตฌ์—ญ๋“ค์ด ๋‹ค๋ฅธ ์„ ๊ฑฐ๊ตฌ์— ํฌํ•จ๋˜๊ธฐ ๋•Œ๋ฌธ์— N//2๊นŒ์ง€๋งŒ ์กฐํ•ฉ์„ ๊ตฌํ•ด๋„ ๋œ๋‹ค. 3. ๊ทธ๋Ÿฌ๋‚˜ N๊นŒ์ง€ ๋ชจ๋“  ์กฐํ•ฉ์„ ๊ตฌํ•ด๋„ ๋ณ„ ๋ฌธ์ œ ์—†์ด ์‹œ๊ฐ„ ๋‚ด์— ํ†ต๊ณผ ๋œ๋‹ค. from collections import deque fro.. 2022. 10. 14.
[๋ฐฑ์ค€] 16236 ์•„๊ธฐ์ƒ์–ด (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/16236 16236๋ฒˆ: ์•„๊ธฐ ์ƒ์–ด N×N ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์— ๋ฌผ๊ณ ๊ธฐ M๋งˆ๋ฆฌ์™€ ์•„๊ธฐ ์ƒ์–ด 1๋งˆ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ณต๊ฐ„์€ 1×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ํ•œ ์นธ์—๋Š” ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 1๋งˆ๋ฆฌ ์กด์žฌํ•œ๋‹ค. ์•„๊ธฐ ์ƒ์–ด์™€ ๋ฌผ๊ณ ๊ธฐ๋Š” ๋ชจ๋‘ ํฌ๊ธฐ๋ฅผ ๊ฐ€ www.acmicpc.net ๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ฒ˜์Œ์— ์ตœ๋Œ€ O(N^6)์˜ ์ฝ”๋“œ๋กœ pypy(1076ms)๋กœ ํ†ต๊ณผ (python ์‹œ๊ฐ„์ดˆ๊ณผ)ํ•˜๊ณ  ์ดํ›„์— jh05013๋‹˜์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ›จ์”ฌ ๋น ๋ฅธ ํ’€์ด(python: 288ms)๋กœ ๋‹ค์‹œ ํ’€์—ˆ๋Š”๋ฐ ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ์†Œ๊ฐœํ•ด๋ณด๊ฒ ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ƒ์–ด๊ฐ€ ๋‹ค์Œ ๋จน์ด๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ์—ฌ๊ธฐ์„œ '๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šฐ๋ฉฐ, ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ ์™ผ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” .. 2022. 10. 13.
[๋ฐฑ์ค€] 12100 2048 (Easy) (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/12100 12100๋ฒˆ: 2048 (Easy) ์ฒซ์งธ ์ค„์— ๋ณด๋“œ์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 20)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฒŒ์ž„ํŒ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋นˆ ์นธ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด์™ธ์˜ ๊ฐ’์€ ๋ชจ๋‘ ๋ธ”๋ก์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ธ”๋ก์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋Š” 2 www.acmicpc.net 1. N์ด 20 ์ดํ•˜์ด๊ณ  ์‹œํ–‰์ด 5๋ฒˆ์œผ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์–ด์„œ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์ด์šฉํ•œ ์™„์ „ํƒ์ƒ‰์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋‹ค. 2. ๋ธ”๋Ÿญ์˜ ๋ณ‘ํ•ฉ / ์ด๋™ 2๊ฐ€์ง€๋ฅผ ์ƒํ•˜์ขŒ์šฐ 4๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผ๋˜๋Š”๋ฐ ๋‚˜๋Š” ํ•œ ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ตฌํ˜„ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ฐฐ์—ด์„ ํšŒ์ „ ์‹œ์ผœ์„œ ์ ์šฉํ•˜๋Š” ๋ฒ•์„ ์ด์šฉํ–ˆ๋‹ค. (์ฐธ๊ณ : https://bluuubery.tistory.com/48?category=584396) 3. .. 2022. 10. 11.
[๋ฐฑ์ค€] 18405 ๊ฒฝ์Ÿ์  ์ „์—ผ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/18405 18405๋ฒˆ: ๊ฒฝ์Ÿ์  ์ „์—ผ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N, K๊ฐ€ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์‹œํ—˜๊ด€์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ–‰์€ N๊ฐœ์˜ ์›์†Œ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ํ•ด๋‹น ์œ„์น˜ www.acmicpc.net 1. ํ† ๋งˆํ† ๋ž‘ ๋น„์Šทํ•˜๊ฒŒ ์ฒ˜์Œ์— ๋ฐ”์ด๋Ÿฌ์Šค์˜ ์ขŒํ‘œ๋ฅผ ํ์— ์ €์žฅํ•ด๋‘๊ณ  bfs๋ฅผ ๋Œ๋ฆฌ๋ฉด๋œ๋‹ค. 2. ๋‹จ ์ด ๋ฌธ์ œ์—์„œ๋Š” ๋‚ฎ์€ ๋ฒˆํ˜ธ์˜ ๋ฐ”์ด๋Ÿฌ์Šค๋ถ€ํ„ฐ ์ „์—ผ๋œ๋‹ค๋Š” ํŠน์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ bfs ๋Œ๋ฆฌ๊ธฐ ์ง์ „์— ํ๋ฅผ ํ•œ๋ฒˆ ์ •๋ ฌํ•ด์ค˜์•ผ ํ•œ๋‹ค. from collections import deque import sys, os, io, atexit input = lambda: sys.stdin.readl.. 2022. 10. 10.
[๋ฐฑ์ค€] 17142 ์—ฐ๊ตฌ์†Œ 3 (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/17142 17142๋ฒˆ: ์—ฐ๊ตฌ์†Œ 3 ์ธ์ฒด์— ์น˜๋ช…์ ์ธ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์—ฐ๊ตฌํ•˜๋˜ ์—ฐ๊ตฌ์†Œ์— ์Šน์›์ด๊ฐ€ ์นจ์ž…ํ–ˆ๊ณ , ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์œ ์ถœํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ํ™œ์„ฑ ์ƒํƒœ์™€ ๋น„ํ™œ์„ฑ ์ƒํƒœ๊ฐ€ ์žˆ๋‹ค. ๊ฐ€์žฅ ์ฒ˜์Œ์— ๋ชจ๋“  ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ๋น„ํ™œ์„ฑ ์ƒํƒœ์ด๊ณ  www.acmicpc.net 1. ์—ฐ๊ตฌ์†Œ 2๋ž‘ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‚˜ ๋น„ํ™œ์„ฑ ๋ฐ”์ด๋Ÿฌ์Šค์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๊นŒ๋‹ค๋กญ๋‹ค 2. ํ™œ์„ฑ๋ฐ”์ด๋Ÿฌ์Šค์™€ ๋งŒ๋‚˜๋ฉด ํ™œ์„ฑ ์ƒํƒœ๋กœ ๋ณ€ํ•˜๋‹ˆ '1'์˜ ์„ฑ์งˆ์„ ๊ฐ€์ง€๋ฉด์„œ, ๋™์‹œ์— ํ™•์‚ฐ ์‹œ๊ฐ„์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฏ€๋กœ '0'์˜ ์„ฑ์งˆ์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. 3. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋น„ํ™œ์„ฑ -> ํ™œ์„ฑ ๋ฐ”์ด๋Ÿฌ์Šค์˜ ์ขŒํ‘œ๋ฅผ ์ €์žฅํ•˜๋ฉด์„œ ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ ๋งˆ์ง€๋ง‰์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์คŒ์œผ๋กœ์จ ํ™•์‚ฐ ์‹œ๊ฐ„ ๊ณ„์‚ฐ์— ์˜ํ–ฅ์„ ์•ˆ ๋ฏธ์น˜๋„๋ก ํ–ˆ๋‹ค. fr.. 2022. 10. 7.
[๋ฐฑ์ค€] 1766 ๋ฌธ์ œ์ง‘ (Python/ํŒŒ์ด์ฌ) https://www.acmicpc.net/problem/1766 1766๋ฒˆ: ๋ฌธ์ œ์ง‘ ์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ์ˆ˜ N(1 ≤ N ≤ 32,000)๊ณผ ๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ •๋ณด์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‘ ์ •์ˆ˜์˜ ์ˆœ์„œ์Œ A,B๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ www.acmicpc.net 1. ์šฐ์„ ์ˆœ์œ„ํ๋กœ ์œ„์ƒ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 2. ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ์ฝ์–ด๋ณด๋ฉด ๋น„๊ต์  ๋ช…ํ™•ํ•˜๋‹ค. - ๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ๋Š”, ๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ๋ฅผ ๋ฐ˜๋“œ์‹œ ๋จผ์ € ํ’€์–ด์•ผ ํ•œ๋‹ค. -> ์œ„์ƒ์ •๋ ฌ - ๊ฐ€๋Šฅํ•˜๋ฉด ์‰ฌ์šด ๋ฌธ์ œ๋ถ€ํ„ฐ ํ’€์–ด์•ผ ํ•œ๋‹ค. -> ์šฐ์„ ์ˆœ์œ„ ํ 3. ์œ„์ƒ์ •๋ ฌ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํ‘ผ ๋ฌธ์ œ์˜€๋Š”๋ฐ ์œ„์ƒ์ •๋ ฌ์ž„์„ ์•Œ๊ณ  ํ’€์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ๋ชฐ๋ผ๋„ ๋‚œ์ด๋„์— ๋น„ํ•ด์„œ.. 2022. 10. 6.