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

์ „์ฒด ๊ธ€120

[๊ธฐ๋ณธ] ํˆฌ ํฌ์ธํ„ฐ ๋“ค์–ด๊ฐ€๋ฉฐํˆฌ ํฌ์ธํ„ฐ๋Š” 2๊ฐœ์˜ ํฌ์ธํ„ฐ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ๋“ค์€ ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•  ์ƒ๊ฐ์„ ์‰ฝ๊ฒŒ ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋Š˜์€ ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค. ํˆฌ ํฌ์ธํ„ฐ๋Š” ์ธ์ ‘ํ•œ ๋ฆฌ์ŠคํŠธ์—์„œ ๋‘ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ๋กํ•ด๊ฐ€๋ฉด์„œ ์กฐ๊ฑด ์ฒดํฌ๋ฅผ ํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ํฌ์ธํ„ฐ๊ฐ€ ๊ธฐ๋ก์„ ํ•ด๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ์›์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๋ณต์žก๋„๋ฅผ ๋‚ญ๋น„ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ํฐ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํˆฌ ํฌ์ธํ„ฐ๋Š” ๋ณ‘ํ•ฉ์ •๋ ฌ(merge sort)์˜ counquer ์˜์—ญ์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ1๋ฐฑ์ค€ 2018: ์ˆ˜๋“ค์˜ ํ•ฉ 5(๋งํฌ)๋ถ„์„์ฃผ์–ด์ง„ ์ œํ•œ์‹œ๊ฐ„์€ 2์ดˆ์ธ๋ฐ N์˜ ์ตœ๋Œ“๊ฐ’์€ 10,000,000์œผ๋กœ ๋งค์šฐ ํฌ๊ฒŒ ์žกํ˜€์žˆ์Šต๋‹ˆ๋‹ค. nlogn์˜ .. 2025. 3. 25.
[๊ธฐ๋ณธ] ๊ตฌ๊ฐ„ํ•ฉ ์‘์šฉ ๋“ค์–ด๊ฐ€๋ฉฐ๊ตฌ๊ฐ„ํ•ฉ์˜ ์ค‘์š”์„ฑ์„ ๋” ์•Œ์•„๋ณด๊ณ ์ž ๊ตฌ๊ฐ„ํ•ฉ๊ณผ ๊ด€๋ จ๋œ ์‘์šฉ๋ฌธ์ œ๋ฅผ ๋” ํ’€์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ง€๋‚œ ๊ตฌ๊ฐ„ํ•ฉ๋ณด๋‹ค๋Š” ์กฐ๊ธˆ ๋” ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•ด๋†“๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถฐ์ฃผ๋Š” ์ง€ ์ฒดํฌํ•ด๋ณด๋Š” ์‹œ๊ฐ„์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.  ๋ฌธ์ œ๋ฐฑ์ค€ 11660: ๊ตฌ๊ฐ„ํ•ฉ ๊ตฌํ•˜๊ธฐ 5(๋งํฌ)  ํ’€์ด1#include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int size, count; cin >> size >> count; vector> sumMetrix(size + 1); for (int i = 1; i num.. 2025. 3. 13.
[๊ธฐ๋ณธ] ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ ํ™œ์šฉ ์Šคํƒ์„ ํ™œ์šฉํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ์Šคํƒ์„ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ณดํ†ต ์ง์„ ์ง“๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋‚จ๋…€๊ฐ€ ๋ฐ˜๋ณต๋ผ์„œ ๋‚˜ํƒ€๋‚˜๊ฑฐ๋‚˜, ๋™๋ฌผ ๋“ฑ๋“ฑ ๊ต์ฐจ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ์ƒํ™ฉ์—์„œ ์ง์„ ๋งž์ถฐ์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ๋Š” ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค. ๊ด„ํ˜ธ๋Š” ๋ฐ˜๋“œ์‹œ ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์ง์ด ์ด๋ฃจ์–ด์ ธ์•ผ๊ฒ ์ฃ . ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. jsonํŒŒ์ผ์„ ๋ถ„์„ํ•  ๋•Œ๋„ ๊ด„ํ˜ธ์˜ ์—ฌ๋‹ซ์Œ์„ ๋ถ„์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์ฒฉ์œผ๋กœ ๊ฐ์ฒด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ  ๊ทธ ๋‚ด๋ถ€์— array๊นŒ์ง€ ์žˆ๋‹ค๋ฉด, ํ•จ์ˆ˜ ์ฝœ ์Šคํƒ ์ฒ˜๋Ÿผ ๋‚ด๋ถ€๋กœ ๋“ค์–ด๊ฐ”๋‹ค๊ฐ€ ๋‚˜์˜ฌ๋•Œ ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋น ์ ธ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.   ๋ฌธ์ œ ํ’€๊ธฐ๋ฐฑ์ค€ 9012: ๊ด„ํ˜ธ(๋งํฌ) ํ’€์ด#include #include #include #include #include using namespace std;int main() { .. 2025. 3. 10.
[๊ธฐ๋ณธ] ํ•ฉ๋ฐฐ์—ด๊ณผ ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ ํ•ฉ๋ฐฐ์—ด๊ณผ ๊ตฌ๊ฐ„ํ•ฉํ•ฉ๋ฐฐ์—ด์€ ํŠน์ • ๋ฐฐ์—ด์˜ ๋ˆ„์  ํ•ฉ์„ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด๋กœ, ๊ตฌ๊ฐ„ํ•ฉ์„ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ i๋ฒˆ์งธ๊นŒ์ง€์˜ ๋ˆ„์  ํ•ฉ์„ ์ €์žฅํ•˜์—ฌ, ํŠน์ • ๊ตฌ๊ฐ„์˜ ํ•ฉ์„ O(1) ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํ•ฉ๋ฐฐ์—ด ๊ณ„์‚ฐ๋ฐฐ์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•ฉ๋ฐฐ์—ด S๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค.S[i]=A[1]+A[2]+...+A[i]์ฆ‰,S[0]=0 (๊ธฐ๋ณธ๊ฐ’)S[i]=S[iโˆ’1]+A[i]๋ฅผ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.์˜ˆ์ œ๋ฐฐ์—ด A=[2,4,5,7,9,12] ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•ฉ๋ฐฐ์—ด S ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.iA[i]S[i]00012224635114718592761239 ๊ตฌ๊ฐ„ํ•ฉ ๊ณ„์‚ฐ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๊ณต์‹์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ตฌ๊ฐ„ i์—์„œ j๊นŒ์ง€์˜ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.S[j] - S[i -1]์˜ˆ: ๊ตฌ๊ฐ„ [2, 5]์˜ ํ•ฉ์€ S[5.. 2025. 3. 8.
[๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰] ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth First Search, DFS) ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth-First Search, DFS)๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)์€ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜๋กœ, ํ•œ ์ •์ ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ๊นŠ์ด๊นŒ์ง€ ํƒ์ƒ‰ํ•œ ํ›„, ๋” ์ด์ƒ ๊ฐˆ ๊ณณ์ด ์—†์œผ๋ฉด ๋˜๋Œ์•„์˜ค๋Š” ๋ฐฉ์‹(๋ฐฑํŠธ๋ž˜ํ‚น)์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.๐Ÿ”น DFS ๊ฐœ๋…DFS๋Š” ์Šคํƒ(์žฌ๊ท€ ํ˜ธ์ถœ or ๋ช…์‹œ์  ์Šคํƒ)์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๊นŠ๊ฒŒ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.๋จผ์ € ํ˜„์žฌ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ ,๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ ๋…ธ๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋…ธ๋“œ๋กœ ์ด๋™ํ•˜์—ฌ ํƒ์ƒ‰์„ ๊ณ„์†ํ•จ.๋” ์ด์ƒ ๋ฐฉ๋ฌธํ•  ๋…ธ๋“œ๊ฐ€ ์—†์œผ๋ฉด ์ด์ „ ๋…ธ๋“œ(๋ถ€๋ชจ ๋…ธ๋“œ)๋กœ ๋Œ์•„๊ฐ(๋ฐฑํŠธ๋ž˜ํ‚น).๐Ÿ”น DFS ๋™์ž‘ ๋ฐฉ์‹DFS์˜ ๊ธฐ๋ณธ ๋™์ž‘ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ  ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌํ˜„์žฌ ๋…ธ๋“œ์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ํ™•์ธ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋…ธ๋“œ๋กœ ์ด๋™๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ผ๋ฉด ์Šคํ‚ต๋” .. 2025. 2. 12.
์ฃผ์š” ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์‹œ๊ฐ„๋ณต์žก๋„ ๋“ค์–ด๊ฐ€๋ฉฐํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ์ฐฝ๊ธฐ์—๋Š” ์‹œ๊ฐ„๋„ ์ค‘์š”ํ–ˆ์ง€๋งŒ, ๊ณต๊ฐ„๋„ ๋งค์šฐ ์ค‘์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์ฒ˜๋Ÿผ ๊ณ ์‚ฌ์–‘ ๋ฉ”๋ชจ๋ฆฌ์™€ ํ•˜๋“œ๋””์Šคํฌ๋ฅผ ์ €๋ ดํ•œ ๊ฐ€๊ฒฉ์— ์‚ด ์ˆ˜ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ๊ทธ๋‹น์‹œ์—๋Š” ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋„ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ๋•Œ๋„ ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๋งŒ๋“ค์ง€ ์•Š์•˜์œผ๋ฉฐ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ํŒŒ์ผ์˜ ์šฉ๋Ÿ‰๋„ ์ค‘์š”ํ–ˆ์ฃ . ์ปดํ“จํ„ฐ๊ฐ€ ๋ฐœ์ „ํ•˜๋ฉด์„œ ์ง€๊ธˆ์€ ๊ณต๊ฐ„์— ๋Œ€ํ•œ ์ œ์•ฝ์€ ๊ฑฐ์˜ ์—†๋‹ค๊ณ ํ•ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋”์šฑ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ค‘์š”๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ธฐ๋„ ํ–ˆ์ฃ . ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ๋น…์˜ค(Big-O)๋ผ๋Š” ํ‘œํ˜„๋ฐฉ์‹์„ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‹คํ–‰๋˜๋Š”๋ฐ ๊ฐ€์žฅ ์ตœ์•…์˜ ์กฐ๊ฑด์ธ ์ƒํƒœ๋กœ ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆฌ๋ƒ๋ฅผ ํŒ๋‹จํ•˜๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๋‹ค์Œ์€ ์ฃผ์š” ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์—ฐ์‚ฐ๋ณ„ ์‹œ๊ฐ„๋ณต์žก๋„์ž…๋‹ˆ๋‹ค.  ๋ฐฐ์—ด (A.. 2025. 2. 7.