[์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ 2021] ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ :: c++ ์ฝ”๋“œ, ๋ฌธ์ œ ํ•ด์„, ํ”Œ๋ฃจ์ด๋“œ ์™€์ƒฌ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 2. 28. 19:11

ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ ๋‚œ์ด๋„ : โ˜…โ˜…โ˜…โ˜†โ˜† ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : ๋ชป ํ’€์—ˆ์Œ ๋ฌธ์ œ ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ ๋งํฌ ํ•ด์„ค ๊ทธ๋ž˜ํ”„ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ dijkstra๋‚˜ floyd-warshal ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์šฉ ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ๋“  ์ •์  => ๋ชจ๋“  ์ •์  ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ตฌํ•˜๊ธฐ d[i][j] = i๋ถ€ํ„ฐ j๊นŒ์ง€์˜ ์ตœ์ € ํƒ์‹œ ์š”๊ธˆ min(d[s][k]+d[k][a]+d[k][b])๋ฅผ ๊ตฌํ•˜๋ฉด ๋จ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•œ ์ •์  => ๋ชจ๋“  ์ •์  ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ตฌํ•˜๊ธฐ ๋ฐฐ์—ด(dist)๊ณผ ์šฐ์„ ์ˆœ์œ„ ํ(qp)๋ฅผ ์ด์šฉํ•ด์„œ ์ฒซ ์ •์ ๋ถ€ํ„ฐ ๊ฐ ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐฐ์—ด์— ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ์‹ ์šฐ์„ ์ˆœ์œ„ ํ์— ๋‹ค์Œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ๋“ค์„ ๋„ฃ์œผ๋ฉด์„œ ํ•ด๋‹น ๊ฑฐ๋ฆฌ๋ฅผ dist ๋ฐฐ์—ด์—์„œ ๊ฐฑ์‹ ํ•˜๋Š” ๋ฐฉ์‹ a, b ๊ฐ๊ฐ์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋น„์šฉ๊ณผ ํŠน์ • ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋น„์šฉ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์„ ..

[์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ 2021] ๋ฉ”๋‰ด ๋ฆฌ๋‰ด์–ผ :: c++ ์ฝ”๋“œ, ๋ฌธ์ œ ํ•ด์„, ํ•„์š” ํ•จ์ˆ˜
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 2. 13. 20:55

๋ฉ”๋‰ด ๋ฆฌ๋‰ด์–ผ ๋‚œ์ด๋„ : โ˜…โ˜…โ˜†โ˜†โ˜† ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 50๋ถ„ ๋ฌธ์ œ ๋ฉ”๋‰ด ๋ฆฌ๋‰ด์–ผ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ๋ ˆ์Šคํ† ๋ž‘์„ ์šด์˜ํ•˜๋˜ ์Šค์นดํ”ผ๋Š” ์ฝ”๋กœ๋‚˜19๋กœ ์ธํ•œ ๋ถˆ๊ฒฝ๊ธฐ๋ฅผ ๊ทน๋ณตํ•˜๊ณ ์ž ๋ฉ”๋‰ด๋ฅผ ์ƒˆ๋กœ ๊ตฌ์„ฑํ•˜๋ ค๊ณ  ๊ณ ๋ฏผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์—๋Š” ๋‹จํ’ˆ์œผ๋กœ๋งŒ ์ œ๊ณตํ•˜๋˜ ๋ฉ”๋‰ด๋ฅผ ์กฐํ•ฉํ•ด์„œ ์ฝ”์Šค์š”๋ฆฌ ํ˜•ํƒœ๋กœ ์žฌ๊ตฌ์„ฑํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฉ”๋‰ด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋‹จํ’ˆ๋ฉ”๋‰ด๋“ค์„ ์กฐํ•ฉํ•ด์„œ ์ฝ”์Šค์š”๋ฆฌ ๋ฉ”๋‰ด๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ์ข‹์„ ์ง€ ๊ณ ๋ฏผํ•˜๋˜ ์Šค์นดํ”ผ๋Š” ์ด์ „์— ๊ฐ ์†๋‹˜๋“ค์ด ์ฃผ๋ฌธํ•  ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ํ•จ๊ป˜ ์ฃผ๋ฌธํ•œ ๋‹จํ’ˆ๋ฉ”๋‰ด๋“ค์„ ์ฝ”์Šค์š”๋ฆฌ ๋ฉ”๋‰ด๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์ฝ”์Šค์š”๋ฆฌ ๋ฉ”๋‰ด๋Š” ์ตœ์†Œ 2๊ฐ€์ง€ ์ด์ƒ์˜ ๋‹จํ’ˆ๋ฉ”๋‰ด๋กœ ๊ตฌ์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ตœ์†Œ 2๋ช… ์ด์ƒ์˜ ์†๋‹˜์œผ๋กœ๋ถ€ํ„ฐ ์ฃผ๋ฌธ๋œ ๋‹จํ’ˆ๋ฉ”๋‰ด ์กฐํ•ฉ์— ๋Œ€ํ•ด์„œ๋งŒ ์ฝ”์Šค์š”๋ฆฌ ๋ฉ”๋‰ด ํ›„๋ณด์— ํฌํ•จํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์†๋‹˜ 6๋ช…์ด ์ฃผ..

[์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ 2021] ์‹ ๊ทœ์•„์ด๋”” ์ถ”์ฒœ :: string ์‚ฌ์šฉ ๋ฌธ์ œ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 2. 6. 01:12

์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ ๋‚œ์ด๋„ : โ˜…โ˜†โ˜†โ˜†โ˜† ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 30๋ถ„ => ๋ฐ˜์„ฑ! ๋ฌธ์ œ ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ์นด์นด์˜ค์— ์ž…์‚ฌํ•œ ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๋„ค์˜ค๋Š” ์นด์นด์˜ค๊ณ„์ •๊ฐœ๋ฐœํŒ€์— ๋ฐฐ์น˜๋˜์–ด, ์นด์นด์˜ค ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์˜ ์•„์ด๋””๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„ค์˜ค์—๊ฒŒ ์ฃผ์–ด์ง„ ์ฒซ ์—…๋ฌด๋Š” ์ƒˆ๋กœ ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์ด ์นด์นด์˜ค ์•„์ด๋”” ๊ทœ์น™์— ๋งž์ง€ ์•Š๋Š” ์•„์ด๋””๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ, ์ž…๋ ฅ๋œ ์•„์ด๋””์™€ ์œ ์‚ฌํ•˜๋ฉด์„œ ๊ทœ์น™์— ๋งž๋Š” ์•„์ด๋””๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์นด์นด์˜ค ์•„์ด๋””์˜ ๊ทœ์น™์ž…๋‹ˆ๋‹ค. ์•„์ด๋””์˜ ๊ธธ์ด๋Š” 3์ž ์ด์ƒ 15์ž ์ดํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„์ด๋””๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ์ˆซ์ž, ๋นผ๊ธฐ(-), ๋ฐ‘์ค„(_), ๋งˆ์นจํ‘œ(.) ๋ฌธ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ๋งˆ์นจํ‘œ(.)๋Š” ์ฒ˜์Œ๊ณผ ๋์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋˜ํ•œ ์—ฐ์†์œผ๋กœ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋งค์นญ์ ์ˆ˜ :: c++, 8๋ฒˆ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค, ํ’€์ด, ์ฝ”๋“œ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 1. 29. 11:09

๋งค์นญ ์ ์ˆ˜ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 3์‹œ๊ฐ„ ์ด์ƒ ๋ฌธ์ œ ๋‚œ์ด๋„ โ˜…โ˜…โ˜…โ˜†โ˜† ๋ฌธ์ œ ์„ค๋ช… ํ”„๋ Œ์ฆˆ ๋Œ€ํ•™๊ต ์กฐ๊ต์˜€๋˜ ์ œ์ด์ง€๋Š” ํ—ˆ๋“œ๋ ›์ผ๋งŒ ์‹œํ‚ค๋Š” ๋„ค์˜ค ํ•™๊ณผ์žฅ๋‹˜์˜ ๋งˆ์ˆ˜์—์„œ ๋ฒ—์–ด๋‚˜, ์นด์นด์˜ค์— ์ž…์‚ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ‰์†Œ์— ๊ด€์‹ฌ์žˆ์–ดํ•˜๋˜ ๊ฒ€์ƒ‰์— ๋งˆ์นจ ๊ฒฐ์›์ด ๋ฐœ์ƒํ•˜์—ฌ, ๊ฒ€์ƒ‰๊ฐœ๋ฐœํŒ€์— ํŽธ์ž…๋  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋Œ€๋ง์˜ ์ฒซ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ ํ”„๋กœ์ ํŠธ๋Š” ๊ฒ€์ƒ‰์–ด์— ๊ฐ€์žฅ ์ž˜ ๋งž๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ๊ฒ€์ƒ‰์–ด์— ๋Œ€ํ•œ ์›นํŽ˜์ด์ง€์˜ ๋งค์นญ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ํ•œ ์›นํŽ˜์ด์ง€์— ๋Œ€ํ•ด์„œ ๊ธฐ๋ณธ์ ์ˆ˜, ์™ธ๋ถ€ ๋งํฌ ์ˆ˜, ๋งํฌ์ ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ๋งค์นญ์ ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•œ ์›นํŽ˜์ด์ง€์˜ ๊ธฐ๋ณธ์ ์ˆ˜๋Š” ํ•ด๋‹น ์›นํŽ˜์ด์ง€์˜ ํ…์ŠคํŠธ ์ค‘, ๊ฒ€์ƒ‰์–ด๊ฐ€ ๋“ฑ์žฅํ•˜๋Š” ํšŸ์ˆ˜์ด๋‹ค. (๋Œ€์†Œ๋ฌธ์ž ๋ฌด์‹œ) ํ•œ ์›นํŽ˜์ด์ง€์˜ ์™ธ๋ถ€ ๋งํฌ ์ˆ˜๋Š” ํ•ด๋‹น ์›นํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ์™ธ๋ถ€ ํŽ˜์ด์ง€๋กœ ์—ฐ๊ฒฐ๋œ ๋ง..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ธธ์ฐพ๊ธฐ๊ฒŒ์ž„ :: c++, ์ฝ”๋“œ, ํŠธ๋ฆฌ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 1. 28. 19:16

๊ธธ ์ฐพ๊ธฐ ๊ฒŒ์ž„ โ˜…โ˜…โ˜…โ˜†โ˜† LEVEL 3 ๋ฌธ์ œ ๊ธธ ์ฐพ๊ธฐ ๊ฒŒ์ž„ ๋ฌธ์ œ ๋งํฌ ๋ฌธ์ œ ์„ค๋ช… ์ „๋ฌด๋กœ ์Šน์ง„ํ•œ ๋ผ์ด์–ธ์€ ๊ธฐ๋ถ„์ด ๋„ˆ๋ฌด ์ข‹์•„ ํ”„๋ Œ์ฆˆ๋ฅผ ์ด๋Œ๊ณ  ํŠน๋ณ„ ํœด๊ฐ€๋ฅผ ๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋‚ด์นœ๊น€์— ์—ฌํ–‰ ๊ณ„ํš๊นŒ์ง€ ๊ตฌ์ƒํ•˜๋˜ ๋ผ์ด์–ธ์€ ์žฌ๋ฏธ์žˆ๋Š” ๊ฒŒ์ž„์„ ์ƒ๊ฐํ•ด๋ƒˆ๊ณ  ์—ญ์‹œ ์ „๋ฌด๋กœ ์Šน์ง„ํ• ๋งŒํ•œ ์ธ์žฌ๋ผ๊ณ  ์Šค์Šค๋กœ์—๊ฒŒ ๊ฐํƒ„ํ–ˆ๋‹ค. ๋ผ์ด์–ธ์ด ๊ตฌ์ƒํ•œ(๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ๋ผ์ด์–ธ๋งŒ ์ฆ๊ฑฐ์šธ๋งŒํ•œ) ๊ฒŒ์ž„์€, ์นด์นด์˜ค ํ”„๋ Œ์ฆˆ๋ฅผ ๋‘ ํŒ€์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ํŒ€์ด ๊ฐ™์€ ๊ณณ์„ ๋‹ค๋ฅธ ์ˆœ์„œ๋กœ ๋ฐฉ๋ฌธํ•˜๋„๋ก ํ•ด์„œ ๋จผ์ € ์ˆœํšŒ๋ฅผ ๋งˆ์นœ ํŒ€์ด ์Šน๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ƒฅ ์ง€๋„๋ฅผ ์ฃผ๊ณ  ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๋ฉด ์žฌ๋ฏธ๊ฐ€ ๋œํ•ด์ง€๋ฏ€๋กœ, ๋ผ์ด์–ธ์€ ๋ฐฉ๋ฌธํ•  ๊ณณ์˜ 2์ฐจ์› ์ขŒํ‘œ ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ๊ฐ ์žฅ์†Œ๋ฅผ ์ด์ง„ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ๊ฐ€ ๋˜๋„๋ก ๊ตฌ์„ฑํ•œ ํ›„, ์ˆœํšŒ ๋ฐฉ๋ฒ•์„ ํžŒํŠธ๋กœ ์ฃผ์–ด ๊ฐ ํŒ€์ด ์Šค์Šค๋กœ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋„๋ก ํ•  ๊ณ„ํš์ด๋‹ค. ๋ผ์ด์–ธ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ธ”๋ก ์ด๋™ํ•˜๊ธฐ :: c++, ์ฝ”๋“œ, DFS ์“ฐ๋ฉด ์•ˆ๋˜๋Š” ์ด์œ , BFS
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 1. 17. 23:09

๋ธ”๋ก ์ด๋™ํ•˜๊ธฐ โ˜…โ˜…โ˜…โ˜†โ˜† LEVEL 3 ๋ฌธ์ œ ๋ธ”๋ก ์ด๋™ํ•˜๊ธฐ ๋ฌธ์ œ ๋งํฌ ๋ฌธ์ œ ์„ค๋ช… ๋กœ๋ด‡๊ฐœ๋ฐœ์ž ๋ฌด์ง€๋Š” ํ•œ ๋‹ฌ ์•ž์œผ๋กœ ๋‹ค๊ฐ€์˜จ ์นด์นด์˜ค๋ฐฐ ๋กœ๋ด‡๊ฒฝ์ง„๋Œ€ํšŒ์— ์ถœํ’ˆํ•  ๋กœ๋ด‡์„ ์ค€๋น„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ค€๋น„ ์ค‘์ธ ๋กœ๋ด‡์€ 2 x 1 ํฌ๊ธฐ์˜ ๋กœ๋ด‡์œผ๋กœ ๋ฌด์ง€๋Š” 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ N x N ํฌ๊ธฐ์˜ ์ง€๋„์—์„œ 2 x 1 ํฌ๊ธฐ์ธ ๋กœ๋ด‡์„ ์›€์ง์—ฌ (N, N) ์œ„์น˜๊นŒ์ง€ ์ด๋™ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋กœ๋ด‡์ด ์ด๋™ํ•˜๋Š” ์ง€๋„๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ, ์ƒ๋‹จ์˜ ์ขŒํ‘œ๋ฅผ (1, 1)๋กœ ํ•˜๋ฉฐ ์ง€๋„ ๋‚ด์— ํ‘œ์‹œ๋œ ์ˆซ์ž 0์€ ๋นˆ์นธ์„ 1์€ ๋ฒฝ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋กœ๋ด‡์€ ๋ฒฝ์ด ์žˆ๋Š” ์นธ ๋˜๋Š” ์ง€๋„ ๋ฐ–์œผ๋กœ๋Š” ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋กœ๋ด‡์€ ์ฒ˜์Œ์— ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ขŒํ‘œ (1, 1) ์œ„์น˜์—์„œ ๊ฐ€๋กœ๋ฐฉํ–ฅ์œผ๋กœ ๋†“์—ฌ์žˆ๋Š” ์ƒํƒœ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ์•ž๋’ค ๊ตฌ๋ถ„์—†์ด ์›€์ง์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๋ด‡์ด ์›€..