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

Algorithm๐Ÿฐ/๋ฐฑ์ค€61

[๋ฐฑ์ค€] Swift AC implementation, ๋ฌธ์ž์—ด ๋ฌธ์ œ : https://www.acmicpc.net/problem/5430 5430๋ฒˆ: AC ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ •์ˆ˜ ๋ฐฐ์—ด์— ํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” error๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด : ๋ช…๋ น์–ด R๊ณผ D์— ๋Œ€ํ•ด ๊ฐ๊ฐ ๋’ค์ง‘๊ธฐ, ์ฒซ ๋ฌธ์ž๋ฅผ ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์„ ๋ฉ”์†Œ๋“œ๋ฅผ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ R์— ๋Œ€ํ•ด ๋ฌธ์ž์—ด reverse๋ฅผ ์ ์šฉํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n)์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ * ๊ทผ๋ฐ queue ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ• ๋• reverse๊ฐ€ O(1)์ด๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค .. R ๋ช…๋ น์–ด๊ฐ€ ๋“ฑ์žฅํ• ๋•Œ, isReverse.toggle()๋กœ ๋’ค์ง‘ํ˜”๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ”„๋กœํผํ‹ฐ๋กœ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  D๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ• ๋•Œ ์—ญ์‹œ removeFirst()๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€.. 2022. 5. 13.
[๋ฐฑ์ค€] Swift 11052 ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ DP ๋ฌธ์ œ : https://www.acmicpc.net/problem/11052 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ๋ถ„์„ : Bottom-up ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค. d[n] - i๊ฐœ์˜ ์นด๋“œ๋ฅผ ๊ตฌ๋งค์‹œ ์ง€๋ถˆํ•ด์•ผ ํ•˜๋Š” ๊ธˆ์•ก์˜ ์ตœ๋Œ€๊ฐ’ n = 1์ด๋ผ๋ฉด arr[1]๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  for๋ฌธ์„ ๋„๋Š”๋ฐ n = 2๋ผ๋ฉด max(d[1] + arr[1], arr[2]) 1๊ฐœ์งœ๋ฆฌ ์นด๋“œํŒฉ ์ƒ€์„๋•Œ์˜ ์ตœ๋Œ€๊ฐ’์— 1๊ฐœ์งœ๋ฆฌ ์นด๋“œํŒฉ์„ ๋” ์‚ฌ๋Š” ๊ฒฝ์šฐ, 2๊ฐœ์งœ๋ฆฌ ์นด๋“œํŒฉ์„ ์‚ฌ๋Š” ๊ฒฝ์šฐ ์ค‘ ์ตœ๋Œ€ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. n = 3 -> max(d[1] + .. 2022. 4. 19.
[๋ฐฑ์ค€] Swift 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ dijkstra ๋ฌธ์ œ : https://www.acmicpc.net/problem/1504 1504๋ฒˆ: ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ E๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ์„ธ ๊ฐœ์˜ ์ •์ˆ˜ a, b, c๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, a๋ฒˆ ์ •์ ์—์„œ b๋ฒˆ ์ •์ ๊นŒ์ง€ ์–‘๋ฐฉํ–ฅ ๊ธธ์ด ์กด www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ๋…ธ๋“œ๊ฐ€ 2๊ฐœ๋กœ ํ•œ์ •์ ์ด์–ด์„œ start -> ๊ฑฐ์ณ์•ผํ•˜๋Š” ๋…ธ๋“œ1 -> ๊ฑฐ์ณ์•ผํ•˜๋Š” ๋…ธ๋“œ2 -> end start -> ๊ฑฐ์ณ์•ผํ•˜๋Š” ๋…ธ๋“œ2 -> ๊ฑฐ์ณ์•ผํ•˜๋Š” ๋…ธ๋“œ1 -> end ๋‘˜ ์ค‘ ์ตœ์†Œ๊ฐ’์„ ์ฐพ์œผ๋ฉด ๋œ๋‹ค !! ์ผ๋ฐ˜์ ์ธ ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ๋งŒ๋“ค๊ณ  check() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋น„๊ตํ•ด์คฌ๋‹ค. Swift ์ฝ”๋“œ : // // main.swi.. 2022. 4. 18.
[๋ฐฑ์ค€] Swift 14503 ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜, DFS ๋ฌธ์ œ : https://www.acmicpc.net/problem/14503 14503๋ฒˆ: ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฒญ์†Œํ•˜๋Š” ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์žˆ๋Š” ์žฅ์†Œ๋Š” N×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 1×1ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด www.acmicpc.net ํ’€์ด : ์ฒ˜์Œ์— ํ˜„์žฌ ์œ„์น˜ ํ‘œ์‹œํ•˜๋Š”๋ฐ arr์— 1๊ฐ’์„ ๋„ฃ์–ด์„œ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์„œ 1์‹œ๊ฐ„๋™์•ˆ ํ—ค๋งธ๋‹ค .. ๊ทธ๋ฆฌ๊ณ  ๋™, ์„œ ๊ตฌ๋ถ„์„ ๋ฐ˜๋Œ€๋กœ ํ•ด์„œ ๋˜ ํ—ค๋งธ๋‹ค .. ๋ฐฉํ–ฅ ๊ฐ’๋งŒ ์ž˜ ๋„ฃ์–ด์ค€๋‹ค๋ฉด DFS ํ‘ธ๋Š” ๋ฐฉ์‹๋Œ€๋กœ ํ’€๋ฉด ๋ ๊ฑฐ ๊ฐ™๋‹ค ! ์™ผ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๋ ค๋ฉด ๋ถ -> ์„œ // ์„œ -> ๋‚จ // ๋‚จ -> ๋™ // ๋™ -> ๋ถ์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ 0 -> 3, 3 -> 2, 2-> 1, 1 -> .. 2022. 4. 18.
[๋ฐฑ์ค€] Swift ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™ BFS ๋ฌธ์ œ : https://www.acmicpc.net/problem/1389 1389๋ฒˆ: ์ผ€๋นˆ ๋ฒ ์ด์ปจ์˜ 6๋‹จ๊ณ„ ๋ฒ•์น™ ์ฒซ์งธ ์ค„์— ์œ ์ €์˜ ์ˆ˜ N (2 ≤ N ≤ 100)๊ณผ ์นœ๊ตฌ ๊ด€๊ณ„์˜ ์ˆ˜ M (1 ≤ M ≤ 5,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์นœ๊ตฌ ๊ด€๊ณ„๋Š” A์™€ B๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, A์™€ B๊ฐ€ ์นœ๊ตฌ๋ผ๋Š” ๋œป www.acmicpc.net ๋ถ„์„ : ์ฒ˜์Œ์—๋Š” ์™œ ์ด๊ฒŒ BFS์ง€ ? ๊นŠ์ด์— ๋”ฐ๋ผ ๋‚ด๋ ค๊ฐ€๋‹ˆ๊นŒ๋Š” DFS ์•„๋‹Œ๊ฐ€ ์‹ถ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์šฐ๋ฆฌ๋Š” ๊นŠ์ด๊ฐ€ ๋‚ฎ์€ ์นœ๊ตฌ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊นŠ์ด๊ฐ€ ๋‚ฎ์€ ๊ณณ์— ์›ํ•˜๋Š” ์›์†Œ๊ฐ€ ์žˆ๋‹ค๋ฉด visit๋ฅผ true๋กœ ๋งŒ๋“ค์–ด ๋” ๊นŠ์€ ๊ณณ์— ์›ํ•˜๋Š” ์›์†Œ๊ฐ€ ์žˆ์–ด๋„ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐˆ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. ๋˜ํ•œ ์ž๊ธฐ ์ž์‹ ์„ ์ œ.. 2022. 4. 17.
[๋ฐฑ์ค€] Swift 2302 ๊ทน์žฅ ์ขŒ์„ DP ๋ฌธ์ œ : https://www.acmicpc.net/problem/2302 2302๋ฒˆ: ๊ทน์žฅ ์ขŒ์„ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ์‚ฌ๋žŒ๋“ค์ด ์ขŒ์„์— ์•‰์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ๊ฐ€์ง“์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฐฉ๋ฒ•์˜ ๊ฐ€์ง“์ˆ˜๋Š” 2,000,000,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. (2,000,000,000 < 231-1) www.acmicpc.net ๋ถ„์„ : ์ฒ˜์Œ์—๋Š” VIP ์ขŒ์„๋งŒ ๋”ฐ๋กœ 1๋กœ ๋ฐฐ์—ด์„ ๋ฐ›๊ณ  1์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ  ๋ฐฐ์—ด์„ ์นธ๋งŒํผ ๊ณฑํ•˜๋ฉด(ํ•œ์นธ์”ฉ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ) ๋˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€ ? ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ์ถœ ํ›„ ํ‹€๋ฆฌ๊ณ  ๋ณด๋‹ˆ ๋ฐฐ์—ด์นธ๋งŒํผ์€ ๋‘์‚ฌ๋žŒ๋ผ๋ฆฌ๋งŒ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊ฟจ์„๋•Œ๋”๋ผ ใ…Ž ๋งŒ์•ฝ ์ด๋Ÿฌํ•œ ๋ฐฐ์—ด์ด ์žˆ์„๋•Œ 1,2,3,4 ์ค‘ ๋‘ ์ˆ˜ ์˜ˆ๋ฅผ ๋“ค์–ด 1,2๋งŒ ์ž๋ฆฌ ๋ฐ”๊ฟจ์„๋•Œ ๋ชจ๋“  ์ˆ˜์— ๋Œ€ํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์›์†Œ์˜ ๊ฐœ์ˆ˜๋งŒํผ 4์ด์ง€๋งŒ 12๊ฐ€ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ๋Š” ์‚ฌ์ด 34๋„ ์ž๋ฆฌ.. 2022. 4. 17.
[๋ฐฑ์ค€] Swift 1309 ๋™๋ฌผ์› DP ๋ฌธ์ œ : https://www.acmicpc.net/problem/1309 1309๋ฒˆ: ๋™๋ฌผ์› ์ฒซ์งธ ์ค„์— ์šฐ๋ฆฌ์˜ ํฌ๊ธฐ N(1≤N≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ถ„์„ : ์ฒ˜์Œ์—” N์€ ์ฃผ์–ด์กŒ๋Š”๋ฐ ์‚ฌ์ž์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š์•„์„œ ์–ด๋–ป๊ฒŒ ํ‘ธ๋Š”๊ฑด์ง€ ๋‹นํ™ฉํ–ˆ์—ˆ๋‹ค. ๊ทผ๋ฐ ๋™๋ฌผ ์ˆ˜์™€ ์ƒ๊ด€์—†์ด ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋™๋ฌผ์ด ํ•œ๋งˆ๋ฆฌ์ผ๊ฒฝ์šฐ, 2๋งˆ๋ฆฌ์ผ ๊ฒฝ์šฐ .. ๋กœ ์ƒ๊ฐํ•ด๋ณด์•˜๋Š”๋ฐ ๊ทœ์น™์„ ์ฐพ๊ธฐ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ฒฐ๊ตญ ์ ํ™”์‹ ์„ธ์šฐ๋Š” ๊ฒƒ์ด ๋„๋ฌด์ง€ ๊ฐ์ด ์žกํžˆ์ง€ ์•Š์•„ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ณด๊ณ  ํ’€์—ˆ๋‹ค ใ…œ ๋™๋ฌผ์˜ ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ฌธ์ œ์— ์ฃผ์–ด์ง„ ์กฐ๊ฑด N์„ ๊ฐ€์ง€๊ณ  ๋‚˜๋ˆ  ์ƒ๊ฐํ•ด๋ณด์ž ์šฐ์„  ๋™๋ฌผ์›์˜ N = 1์ธ ๊ฒฝ์šฐ, N๋ฒˆ์งธ ์ค„์— ์‚ฌ์ž๋Š” ์—†๋‹ค, ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ์ด 3๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ง€๋‹Œ๋‹ค. N=1 -> 3 N = 2์ธ๊ฒฝ.. 2022. 4. 16.
[๋ฐฑ์ค€] 1049 Swift ๊ธฐํƒ€์ค„ Greedy ๋ฌธ์ œ : https://www.acmicpc.net/problem/1049 1049๋ฒˆ: ๊ธฐํƒ€์ค„ ์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , M์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๋ธŒ๋žœ๋“œ์˜ ํŒจํ‚ค์ง€ ๊ฐ€๊ฒฉ๊ณผ ๋‚ฑ๊ฐœ์˜ ๊ฐ€๊ฒฉ์ด ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฃผ www.acmicpc.net ๋ถ„์„ : ๋‹จ์ˆœํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ์˜€๋‹ค. ๋ชจ๋“  ๋ธŒ๋žœ๋“œ ์ค‘์—์„œ ํŒจํ‚ค์ง€์™€ ๋‹จํ’ˆ์œผ๋กœ ๊ตฌ๋งคํ–ˆ์„๋•Œ ๊ฐ€๊ฒฉ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์ตœ์†Œ๊ฐ’์„ choose ๋ณ€์ˆ˜์™€ select์— ์ €์žฅํ•œ ๋’ค, n์˜ ๊ฐ’์„ ์ค„์—ฌ๋‚˜๊ฐ€๋ฉฐ minPrice๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. Swift ์ฝ”๋“œ : // // main.swift // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong on 2022/04/13. // import Foundat.. 2022. 4. 13.
[๋ฐฑ์ค€] Swift 20361 ์ผ์šฐ๋Š” ์•ผ๋ฐ”์œ„๊พผ implementation ๋ฌธ์ œ : https://www.acmicpc.net/problem/20361 20361๋ฒˆ: ์ผ์šฐ๋Š” ์•ผ๋ฐ”์œ„๊พผ ์ฒซ์งธ ์ค„์— N (3 ≤ N ≤ 200,000), X (1 ≤ X ≤ N), K (1 ≤ K ≤ 100,000)๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ K๊ฐœ์˜ ์ค„์—๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋ฐ”๊พผ ๋‘ ์ปต์˜ ์œ„์น˜ Ai, Bi (1 ≤ Ai, Bi ≤ N, Ai ≠ Bi)๊ฐ€ ๊ณต๋ฐฑ www.acmicpc.net ๋ถ„์„ : ๊ตฌ์Šฌ์ด ์žˆ๋Š” ์œ„์น˜๋ฅผ true๋กœ ํ•˜๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊นŒ ํ•˜๋‹ค๊ฐ€ ์œ„์น˜๋ฅผ ๋ณ€์ˆ˜๋กœ ์—…๋ฐ์ดํŠธ ํ•ด์ค„์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™์•„์„œ ๋ฐฐ์—ด์„ ์•ˆ์“ฐ๊ณ  ํ’€์—ˆ๋‹ค ! Swift ์ฝ”๋“œ : // // main.swift // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong on 2022/04/12. // import Founda.. 2022. 4. 12.
[๋ฐฑ์ค€] Swift 9466 ํ…€ ํ”„๋กœ์ ํŠธ DFS ๋ฌธ์ œ : https://www.acmicpc.net/problem/9466 9466๋ฒˆ: ํ…€ ํ”„๋กœ์ ํŠธ ์ด๋ฒˆ ๊ฐ€์„ํ•™๊ธฐ์— '๋ฌธ์ œ ํ•ด๊ฒฐ' ๊ฐ•์˜๋ฅผ ์‹ ์ฒญํ•œ ํ•™์ƒ๋“ค์€ ํ…€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ํŒ€์› ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†๋‹ค. ์‹ฌ์ง€์–ด ๋ชจ๋“  ํ•™์ƒ๋“ค์ด ๋™์ผํ•œ ํŒ€์˜ ํŒ€์›์ธ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ํ•œ ํŒ€๋งŒ ์žˆ์„ www.acmicpc.net ๋ถ„์„ : ํ•™์ƒ๋“ค์ด cycle์„ ์ด๋ฃจ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด DFS๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. ์ฒ˜์Œ์— ์ ‘๊ทผํ•œ ๋ฐฉ์‹์€ while๋ฌธ์„ ํ†ตํ•ด dfs ํƒ์ƒ‰์„ ํ•˜๊ณ ์ž ํ–ˆ์ง€๋งŒ visit๋ฅผ ๊ฒ€์‚ฌํ•ด์ฃผ์ง€ ์•Š์•„์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค. ๊ทธ๋ž˜์„œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด ๋‹ค์‹œ ํ’€์—ˆ๋‹ค ใ…  ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์ธ์ง€ ํ™•์ธ์„ ์œ„ํ•ด visit๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ๋Š” done(ํŒ€์„ ์ด๋ฃจ์—ˆ๋Š”์ง€ ์•„๋‹Œ์ง€)๋„ ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ์ƒˆ๋กœ ๋งŒ๋“ ๋‹ค. ๊ฐ™์ด ํ”„๋กœ์ ํŠธ ํ•˜๊ณ  ์‹ถ.. 2022. 4. 12.
[๋ฐฑ์ค€] Swift 2529 ๋ถ€๋“ฑํ˜ธ backtracking ๋ฌธ์ œ : https://www.acmicpc.net/problem/2529 2529๋ฒˆ: ๋ถ€๋“ฑํ˜ธ ๋‘ ์ข…๋ฅ˜์˜ ๋ถ€๋“ฑํ˜ธ ๊ธฐํ˜ธ ‘’๊ฐ€ k๊ฐœ ๋‚˜์—ด๋œ ์ˆœ์„œ์—ด A๊ฐ€ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๋ถ€๋“ฑํ˜ธ ๊ธฐํ˜ธ ์•ž๋’ค์— ์„œ๋กœ ๋‹ค๋ฅธ ํ•œ ์ž๋ฆฟ์ˆ˜ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์„œ ๋ชจ๋“  ๋ถ€๋“ฑํ˜ธ ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ œ์‹œ www.acmicpc.net ๋ถ„์„ : ํ˜ผ์ž์„œ ํ’€์ง€ ๋ชปํ–ˆ๋‹ค .. ใ…œ ๋ถ€๋“ฑํ˜ธ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ค‘๋ณต ์—†๋Š” ์กฐํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๊ทธ๋Ÿฌํ•œ ์กฐํ•ฉ๋“ค ์ค‘ ์ตœ๋Œ€ ๊ฐ’, ์ตœ์†Œ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒŒ ๋‹ต์ด์˜€๋‹ค ! ์šฐ์„  ๋ถ€๋“ฑํ˜ธ ๊ฐœ์ˆ˜ + 1๊ฐœ๋งŒํผ์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์กฐ๊ฑด ๋งŒ์กฑ์‹œ answer ๋ฐฐ์—ด์— ๋‹ด๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  for ๋ฌธ 0 ~ 9 10๊ฐœ์˜ ์ˆซ์ž์— ๋Œ€ํ•ด ์ฒซ๋ฒˆ์งธ ์ˆซ์ž์ผ ๊ฒฝ์šฐ๋Š” ๋ถ€๋“ฑํ˜ธ ์กฐ๊ฑด์„ ์ฒดํฌํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ˆซ์ž๋ฅผ ๋„ฃ๋Š”๋‹ค. ๊ทธ ๋‹ค์Œ index๊ฐ€ 1์ด์ƒ์ผ.. 2022. 4. 7.
[๋ฐฑ์ค€] Swift 1300 k๋ฒˆ์งธ ์ˆ˜ BS(Bineary Search) ๋ฌธ์ œ : https://www.acmicpc.net/problem/1300 1300๋ฒˆ: K๋ฒˆ์งธ ์ˆ˜ ์„ธ์ค€์ด๋Š” ํฌ๊ธฐ๊ฐ€ N×N์ธ ๋ฐฐ์—ด A๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ์ˆ˜ A[i][j] = i×j ์ด๋‹ค. ์ด ์ˆ˜๋ฅผ ์ผ์ฐจ์› ๋ฐฐ์—ด B์— ๋„ฃ์œผ๋ฉด B์˜ ํฌ๊ธฐ๋Š” N×N์ด ๋œ๋‹ค. B๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ–ˆ์„ ๋•Œ, B[k]๋ฅผ ๊ตฌํ•ด๋ณด์ž. ๋ฐฐ์—ด A์™€ B www.acmicpc.net ํ’€์ด : ๋ฌธ์ œ๋ฅผ ์ง์ ‘ ํ’€์ง„ ๋ชปํ–ˆ์ง€๋งŒ, ์‹ ๊ธฐํ•œ ํ’€์ด๊ฐ€ ์žˆ์–ด์„œ ๊ธฐ๋ก์„ ๋‚จ๊ฒจ๋ณด๋ ค๊ตฌ ํ•œ๋‹ค. ๋ฌธ์ œ๋Š” 2์ฐจ์› N*N ๋ฐฐ์—ด ๊ฐ’์„ 1์ฐจ์› N*N๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ์—ˆ์„๋•Œ k๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’(m)์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ N = 4 ๋ฐฐ์—ด์ด ์žˆ์„๋•Œ, ์ด๋ฅผ 1์ฐจ์› ๋ฐฐ์—ด๋กœ ๋Š˜์—ฌ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ๋  ๊ฒƒ์ด๊ณ  ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด๋ฅผ ์ด๋ถ„ ํƒ์ƒ‰์œผ๋กœ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ์‚ฌ์‹ค ์„ ํ˜• ํƒ์ƒ‰์œผ๋กœ ์ฐพ์œผ๋ ค .. 2022. 3. 31.
[๋ฐฑ์ค€] Swift 1806 ๋ถ€๋ถ„ํ•ฉ ํˆฌํฌ์ธํ„ฐ ๋ฌธ์ œ : https://www.acmicpc.net/problem/1806 1806๋ฒˆ: ๋ถ€๋ถ„ํ•ฉ ์ฒซ์งธ ์ค„์— N (10 ≤ N < 100,000)๊ณผ S (0 < S ≤ 100,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜์—ด์˜ ๊ฐ ์›์†Œ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ์œผ๋ฉฐ, 10,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ํ’€์ด : ์—ฐ์†๋œ ๋ฐฐ์—ด์˜ ๋ถ€๋ถ„ ๋ฐฐ์—ด ์ค‘ ๊ทธ ํ•ฉ์ด M ์ด์ƒ์ด ๋˜๋Š” ๋ถ€๋ถ„ ๋ฐฐ์—ด ์ค‘์—์„œ ๊ธธ์ด๊ฐ€ ์งง์€ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ๋‹ค. startIndex์™€ endIndex๋ฅผ ์ฒซ ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•˜๋„๋ก ๋‘์—ˆ๊ณ , sum ๊ฐ’์€ ์›์†Œ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์„ค์ •ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  while๋ฌธ์„ ๋Œ๋•Œ๋งˆ๋‹ค endIndex๊ฐ’์€ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  sum ๊ฐ’์ด M๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๊ธธ์ด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์„๋งŒ.. 2022. 3. 29.
[๋ฐฑ์ค€] Swift 2468 ์•ˆ์ „ ์˜์—ญ BFS ๋ฌธ์ œ : https://www.acmicpc.net/problem/2468 2468๋ฒˆ: ์•ˆ์ „ ์˜์—ญ ์žฌ๋‚œ๋ฐฉ์žฌ์ฒญ์—์„œ๋Š” ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ฆฌ๋Š” ์žฅ๋งˆ์ฒ ์— ๋Œ€๋น„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์„ ๊ณ„ํšํ•˜๊ณ  ์žˆ๋‹ค. ๋จผ์ € ์–ด๋–ค ์ง€์—ญ์˜ ๋†’์ด ์ •๋ณด๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ์— ๊ทธ ์ง€์—ญ์— ๋งŽ์€ ๋น„๊ฐ€ ๋‚ด๋ ธ์„ ๋•Œ ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š๋Š” www.acmicpc.net ๋ถ„์„ : ๋ฌธ์ œ์˜ ์•ˆ์ „ ์˜์—ญ์˜ ์ •์˜๋ฅผ ์ฒ˜์Œ์—” ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค. ๊ทธ๋ž˜์„œ ์–ผ๋งŒํผ์˜ ์žฅ๋งˆ๊ฐ€ ๋‚ด๋ฆฐ๋‹ค๊ตฌ ? ํ–ˆ๋Š”๋ฐ ๋ชจ๋“  ์žฅ๋งˆ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๊ฒ€์‚ฌํ•ด ์•ˆ์ „ ์˜์—ญ์ด ์ตœ๋Œ€๊ฐ€ ๋ ๋•Œ ์•ˆ์ „ ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ๋Š” ๋œป์ด์—ˆ๋‹ค. bfs๋ฅผ ๋Œ์•„ visit๋ฐฐ์—ด์— false์ธ ์˜์—ญ์„ true๋กœ ๋งŒ๋“ค๊ณ  ๋๋‚ด๊ณ  ์˜ค๋ฉด bfsAll ํ•จ์ˆ˜์—์„œ ํ•˜๋‚˜์”ฉ cnt + 1 ํ•˜์—ฌ ์•ˆ์ „ ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด์ค€๋‹ค. ๊ทธ ์ „์— visit ๋ฐฐ์—ด์„ ์•ˆ์ „ .. 2022. 3. 11.
[๋ฐฑ์ค€] 1516 ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๋ฌธ์ œ : https://www.acmicpc.net/problem/1516 1516๋ฒˆ: ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์ฒซ์งธ ์ค„์— ๊ฑด๋ฌผ์˜ ์ข…๋ฅ˜ ์ˆ˜ N(1 ≤ N ≤ 500)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฑด๋ฌผ์„ ์ง“๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ๊ทธ ๊ฑด๋ฌผ์„ ์ง“๊ธฐ ์œ„ํ•ด ๋จผ์ € ์ง€์–ด์ ธ์•ผ ํ•˜๋Š” ๊ฑด๋ฌผ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฑด๋ฌผ์˜ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ www.acmicpc.net ํ’€์ด : ๋จผ์ € ๊ฐœ๋ฐœํ•  ๊ฒƒ์ด ์žˆ๋‹ค๋Š” ์ ์—์„œ ์œ„์ƒ ์ •๋ ฌ ๋ฌธ์ œ๋‹ค. ๐Ÿ‘‰๐Ÿป ์œ„์ƒ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์‹ ์˜ ๋…ธ๋“œ๋กœ ํ–ฅํ•˜๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ๊ฐ€ ์žˆ์„๋•Œ ๊ทธ ๋…ธ๋“œ๋ฅผ v[์ž์‹ ].push_back(ํ–ฅํ•˜๋Š” ๋…ธ๋“œ)๋กœ ๋„ฃ์–ด์คฌ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ–ฅํ•˜๋Š” ๋“ค์–ด์˜ค๋Š” ๋…ธ๋“œ์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ์คฌ๋‹ค. (๊ฐœ๋…๊ณผ ๋ฐ˜๋Œ€๋‹ค) ์ฆ‰ indegeree[ํ–ฅํ•˜๋Š”๋…ธ๋“œ]++ ๋”ฐ๋ผ์„œ ๊ฐ’์„ ๋„์‹ํ™” ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  indegree๊ฐ€ 0์ธ ๊ฐ’๋ถ€ํ„ฐ vec.. 2022. 3. 3.
[๋ฐฑ์ค€] 2630 ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ : https://www.acmicpc.net/problem/2630 2630๋ฒˆ: ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์ข…์ด์˜ ํ•œ ๋ณ€์˜ ๊ธธ์ด N์ด ์ฃผ์–ด์ ธ ์žˆ๋‹ค. N์€ 2, 4, 8, 16, 32, 64, 128 ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ƒ‰์ข…์ด์˜ ๊ฐ ๊ฐ€๋กœ์ค„์˜ ์ •์‚ฌ๊ฐํ˜•์นธ๋“ค์˜ ์ƒ‰์ด ์œ—์ค„๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ค„๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ํ’€์ด : ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ‰์ข…์ด๊ฐ€ ์žˆ์„๋•Œ ์ •์‚ฌ๊ฐํ˜• ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ  ์ƒ‰์ข…์ด๊ฐ€ ๋ชจ๋‘ ํŒŒ๋ž€๋ฉด์„ ๋˜๋Š” ํ•˜์–€๋ฉด์„ ๋„๊ฒŒ ํ•˜๋Š” ์ž‘์€ ์ •์‚ฌ๊ฐํ˜• ์ƒ‰์ข…์ด๋กœ ๋งŒ๋“ค๊ณ  ๋งŒ๋“ค์–ด์ง„ ํฐ ์ƒ‰์ข…์ด ๊ฐœ์ˆ˜, ํŒŒ๋ž€ ์ƒ‰์ข…์ด ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ์ฆ‰ ๋ถ„ํ•  ์ •๋ณต์„ ํ†ตํ•ด ํƒ‘๋‹ค์šด ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋ˆ ์ง„ ์ƒ‰์ข…์ด๊ฐ€ ์กฐ๊ฑด์— ๋งž๋Š” ์ƒ‰์ข…์ด์ธ์ง€ ๊ฒ€์‚ฌํ•˜๋ฉด ๋œ๋‹ค. ์ƒ‰์ข…์ด ํฌ๊ธฐ๊ฐ€ 1x1์ผ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฏ€๋กœ ์žฌ๊ท€๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ• ์ˆ˜ ์žˆ์—ˆ๋‹ค... 2022. 2. 24.
[๋ฐฑ์ค€] 3020 ๊ฐœ๋˜ฅ๋ฒŒ๋ ˆ prefix sum(๋ˆ„์ ํ•ฉ) ๋ฌธ์ œ : https://www.acmicpc.net/problem/3020 3020๋ฒˆ: ๊ฐœ๋˜ฅ๋ฒŒ๋ ˆ ๊ฐœ๋˜ฅ๋ฒŒ๋ ˆ ํ•œ ๋งˆ๋ฆฌ๊ฐ€ ์žฅ์• ๋ฌผ(์„์ˆœ๊ณผ ์ข…์œ ์„)๋กœ ๊ฐ€๋“์ฐฌ ๋™๊ตด์— ๋“ค์–ด๊ฐ”๋‹ค. ๋™๊ตด์˜ ๊ธธ์ด๋Š” N๋ฏธํ„ฐ์ด๊ณ , ๋†’์ด๋Š” H๋ฏธํ„ฐ์ด๋‹ค. (N์€ ์ง์ˆ˜) ์ฒซ ๋ฒˆ์งธ ์žฅ์• ๋ฌผ์€ ํ•ญ์ƒ ์„์ˆœ์ด๊ณ , ๊ทธ ๋‹ค์Œ์—๋Š” ์ข…์œ ์„๊ณผ ์„์ˆœ์ด www.acmicpc.net ๋ถ„์„ : 1. ์„์ˆœ๊ณผ ์ข…์œ ์„์˜ ๊ตฌ๋ถ„์€ ์ง์ˆ˜์ธ์ง€ ํ™€์ˆ˜์ธ์ง€๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋˜ฅ๋ฒŒ๋ ˆ๊ฐ€ ๋†’์ด 1์ธ ๊ณณ์„ ์ง€๋‚œ๋‹ค๋ฉด ์ข…์œ ์„์€ 1์ธ ๋†’์ด, ์„์ˆœ์€ H -1 ์ธ ๋†’์ด๋ฅผ ๋™์‹œ์— ์ง€๋‚œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 2. ์„์ˆœ๋ผ๋ฆฌ์˜ (๋˜๋Š” ์ข…์œ ์„๋ผ๋ฆฌ์˜) ์ˆœ์„œ ๋ฐ”๋€œ์€ ์ƒ๊ด€์ด ์—†๋‹ค. ๊ฐœ๋˜ฅ๋ฒŒ๋ ˆ๋Š” N ๊ธธ์ด๋ฅผ ํ†ต๊ณผํ•˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์„์ˆœ์˜ ๊ธธ์ด๋งŒํผ ๊ฐ€์ง„ ์„์ˆœ ๊ฐœ์ˆ˜๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. (์ข…์œ ์„๋„ ๋˜‘๊ฐ™๋‹ค) 3. ๋†’์ด๊ฐ€ H์ผ๋•Œ ๊ฐœ๋˜ฅ๋ฒŒ๋ ˆ๋Š”.. 2022. 2. 21.
[๋ฐฑ์ค€] 13549 ์ˆจ๋ฐ”๊ผญ์งˆ 3 dijkstra ๋ฌธ์ œ : https://www.acmicpc.net/problem/13549 13549๋ฒˆ: ์ˆจ๋ฐ”๊ผญ์งˆ 3 ์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 ≤ N ≤ 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 ≤ K ≤ 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ www.acmicpc.net ํ’€์ด : ์ˆจ๋ฐ”๊ผญ์งˆ1 ๋ฌธ์ œ์™€ ๋‹ฌ๋ฆฌ ์ด๋ฒค์—๋Š” ์ˆœ๊ฐ„์ด๋™(M x 2)์‹œ ์‹œ๊ฐ„์€ 0์ดˆ๋ผ๋Š” ์กฐ๊ฑด์ด ๋‹ค๋ฅด๋‹ค. ์ฆ‰ ๊ฑท๊ธฐ(M-1, M+1) ์กฐ๊ฑด์‹œ์˜ ๊ฐ€์ค‘์น˜์™€ ์ˆœ๊ฐ„์ด๋™์˜ ๊ฐ€์ค‘์น˜๊ฐ€ ๋‹ฌ๋ผ ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„  ์ˆœ๊ฐ„์ด๋™์ด ์šฐ์„ ์‹œ ๋˜์–ด์•ผ ํ–ˆ๊ณ  ๊ฑฐ๋ฆฌ๊ฐ€ ์ž‘์€์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ๋Š” ์šฐ์„ ์ˆœ์œ„ํ๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์ต์Šคํฌ๋ผ๋ฅผ ์ ์šฉํ–ˆ๋‹ค. ๊ฐ€์ง€ ์•Š์•˜๋˜ ์œ„์น˜๊ฑฐ๋‚˜ ๋˜๋Š” ์ „์— ๊ฐ”์„๋•Œ์˜ ์‹œ๊ฐ„๋ณด๋‹ค ๋” ์ ๊ฒŒ ๊ฑธ.. 2022. 2. 17.
[๋ฐฑ์ค€] 1018 ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ brute force ๋ฌธ์ œ : https://www.acmicpc.net/problem/1018 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. N๊ณผ M์€ 8๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ณด๋“œ์˜ ๊ฐ ํ–‰์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. B๋Š” ๊ฒ€์€์ƒ‰์ด๋ฉฐ, W๋Š” ํฐ์ƒ‰์ด๋‹ค. www.acmicpc.net ํ’€์ด : ์ธํ’‹์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด๊ณผ ์ฃผ์–ด์ง„ 8x8 ๋ฐฐ์—ด๊ณผ cnn ๋ชจ๋ธ์ฒ˜๋Ÿผ ํ•„ํ„ฐ๋งํ•˜๋“ฏ์ด ๋น„๊ตํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๋”ฐ๋ผ์„œ ๋ธŒ๋ฃจํŠธํฌ์Šค๋กœ ๋น„๊ตํ•  ์ฒด์ŠคํŒ์˜ ๋ฒ”์œ„๋ฅผ ๋จผ์ € ์ •ํ•˜๊ณ , ๋ธ”๋ž™์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฒด์ŠคํŒ or ํฐ์ƒ‰์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฒด์ŠคํŒ ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜์™€ ๋Œ€์กฐํ•˜์—ฌ min ๊ฐ’์„ ์ฐพ์•„๋‚ธ๋‹ค. ์šฐ์„  for๋ฌธ์ด ๋งŽ๋‹ค๋Š” ์ ์— ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚ ๊นŒ ๊ฑฑ์ •ํ–ˆ์ง€๋งŒ ์ฒด์ŠคํŒ์˜ ํฌ๊ธฐ M x N ์™€ (50 x 50)๊ณผ ๋งŒ๋“  ์ฒด์ŠคํŒ.. 2022. 2. 17.
[๋ฐฑ์ค€] 1969 DNA ๋ฌธ์ œ : https://www.acmicpc.net/problem/1969 1969๋ฒˆ: DNA DNA๋ž€ ์–ด๋–ค ์œ ์ „๋ฌผ์งˆ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ„์ž์ด๋‹ค. ์ด DNA๋Š” ์„œ๋กœ ๋‹ค๋ฅธ 4๊ฐ€์ง€์˜ ๋‰ดํด๋ ˆ์˜คํ‹ฐ๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค(Adenine, Thymine, Guanine, Cytosine). ์šฐ๋ฆฌ๋Š” ์–ด๋–ค DNA์˜ ๋ฌผ์งˆ์„ ํ‘œํ˜„ํ•  ๋•Œ, ์ด DNA๋ฅผ ์ด๋ฃจ๋Š” ๋‰ดํด๋ ˆ์˜ค www.acmicpc.net ํ’€์ด : ๊ฐ์œผ๋กœ ์—ด๊ฐ„ ๋น„๊ต๋ฅผ ํ†ตํ•ด ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜จ ๋ฌธ์ž๊ฐ€ ๊ทธ ์ž๋ฆฌ ์ธ๋ฑ์Šค๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์ง€๋งŒ ๋ฌธ์ž๊ฐ„์˜ ๊ฑฐ๋ฆฌ์˜ ์ฐจ๋ฅผ ๋ชจ๋‘ ๋”ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„์ง€ ๋ฐฉ๋ฒ•์ด ์ƒ๊ฐ๋‚˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‹ค https://gusdnr69.tistory.com/31 ์š” ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด ๋ฌธ์ž์™€ ๋‹ฌ๋ž๋˜ ๊ฐ’์„ ์—ด๋กœ ์นด์šดํŠธ ํ–ˆ๋‹ค๋Š” ์ ์ด ์‹ ๊ธฐํ–ˆ๋‹ค. (์•„์ง๋„ ๋ฐฐ์šธ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ๋‹ค๋‹ˆ ๋งŽ.. 2022. 2. 16.