๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ’ป Computer Science/- Data Structure, Algorithm147

[์ž๋ฃŒ ๊ตฌ์กฐ] - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒ๊ตฌ์กฐ :: Linked List Data Structure ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ Linked List ์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ๋‹ค๋Ÿ‰์˜ ๊ณตํ†ต(์„ ํ˜•) ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ Array, ์ฆ‰ ๋ฐฐ์—ด์„ ๋งŽ์ด ์จ์™”๋‹ค. ๋ฐฐ์—ด์€ ๊ตฌํ˜„์ด๋ž„ ๊ฒƒ๋„ ์—†์ด ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์น˜๋ช…์ ์ธ ๋‹จ์ ์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ์ด๋‹ค. ๋ฐฐ์—ด์€ data์˜ element ๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ธ์ ‘ํ•œ ์œ„์น˜์— ์ €์žฅ๋˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์ด์–ด ์ €์žฅ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์ ์ด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ญ์ œ, ์‚ฝ์ž…ํ•˜๋Š” ๊ณผ์ •์—์„œ ํฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” LinkedList๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์ด์œ ์ด๋‹ค. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๊ทธ๋ฆผ์—์„œ๋„ ๋ณด์ด๋“ฏ์ด ๋น„์—ฐ์†์  ์œ„์น˜์— ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋‹ค. Node ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—๋Š” ๋…ธ๋“œ๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค. ์ด ๋…ธ๋“œ์— ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ฃผ์†Œ ์ฐธ์กฐ๋ฅผ .. 2020. 6. 12.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS(์Šคํƒ)] ๋ฐฑ์ค€ 10799๋ฒˆ ์ž๋ฐ” ๋ฌธ์ œ ํ’€์ด. (Stack์„ ํ™œ์šฉํ•˜์—ฌ ํ’€์ด) ๋ฌธ์ œ ์ž… ์ถœ๋ ฅ ๋ฐ ์˜ˆ์ œ ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” Stack์„ ์ด์šฉํ•˜์—ฌ ํ’€์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๊ฐ€ ์–ด๋ ต๊ฒŒ ๋ณด์ด์ง€๋งŒ ๋‹จ์ˆœํ™”๋ฅผ ์‹œ์ผœ์„œ ๋ณธ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ด„ํ˜ธ๊ฐ€ () ์ฒ˜๋Ÿผ ๋ถ™์–ด ์žˆ์œผ๋ฉด ๋ ˆ์ด์ ธ์ด๊ณ , (...) ์ฒ˜๋Ÿผ ์žˆ์œผ๋ฉด ๋ง‰๋Œ€๋‹ค. ๋ ˆ์ด์ ธ๊ฐ€ ๋ง‰๋Œ€๋ฅผ ์ž๋ฅด๋Š”๋ฐ ์ž˜๋ฆฐ ๋ง‰๋Œ€์˜ ๊ฐฏ์ˆ˜๋Š” ์–ผ๋งˆ์ธ๊ฐ€. ๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธ ๊ฒฝ์šฐ๊ฐ€ ๋‚˜์˜จ๋‹ค. ( ๋ฌธ์ž๋ฅผ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ ) ๋ฌธ์ž๋ฅผ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ ๋ ˆ์ด์ ธ๋ฅผ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ ์ด ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์†Œ์Šค๋งŒ ์งœ์ฃผ๋ฉด ๋! ( ๋ฌธ์ž๋ฅผ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ ์ด ๋•Œ๋Š” ( ๋กœ ์‹œ์ž‘ํ•˜๋Š”๊ฒŒ ๋ง‰๋Œ€์ผ์ง€ ๋ ˆ์ด์ ธ์ผ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋‹จ ์Šคํƒ์— pushํ•˜๊ณ  ๋‹ค์Œ์— ) ๋ฅผ ๋งŒ๋‚˜๋ฉด ํ™•์ธํ•˜๋„๋ก ํ•œ๋‹ค. Stack.push ๋ ˆ์ด์ ธ๋ฅผ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ ์—ฌ๊ธฐ์„œ ๋ ˆ์ด์ ธ๋ฅผ ๋งŒ๋‚ฌ๋Š”์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•œ ์นธ ์•ž์˜.. 2020. 6. 11.
[์ž๋ฃŒ ๊ตฌ์กฐ] - ํ ์ž๋ฃŒ๊ตฌ์กฐ :: Queue Data Structure ํ (Queue) ํ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” Abstract Data Type ์œผ๋กœ ์ˆœ์ฐจ ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, FIFO ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค. F : first I : In F : first O : out ์•ž์—์„œ ๋ดค๋˜ ์Šคํƒ๊ณผ๋Š” ๋‹ค๋ฅธ ํ˜•ํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š”๋ฐ, ์ข€ ๋” ์•Œ์•„๋ณด์ž. ํ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ ํ๋Š” ์ผ๋‹จ ์šฐ๋ฆฌ๊ฐ€ ์Œ์‹์ ์— ๋“ค์–ด๊ฐ€๊ธฐ ์œ„ํ•ด์„œ ์ค„์„ ์„œ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. Bob๊ณผ Steve๋ผ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์„ ๋•Œ, Steve๊ฐ€ ๋จผ์ € ์ค„์„ ์„œ ์žˆ์—ˆ๋‹ค๋ฉด ๋‹น์—ฐํžˆ Steve๊ฐ€ ์Œ์‹์ ์— ๋จผ์ € ๋“ค์–ด๊ฐ„๋‹ค. ์ด ๊ฒƒ์ด ๋ฐ”๋กœ ํ์˜ ์›๋ฆฌ์ด๋‹ค. ํ์˜ ์—ฐ์‚ฐ Enqueue enqueue๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ด๋ฉฐ, queue์˜ ๊ธธ์ด๋งŒํผ ๊ฐ”์„ ๋•Œ ๋” ์ด์ƒ ์ถ”๊ฐ€ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†์„ ๋•Œ ๊นŒ์ง€ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. Dequeue dequeue๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ.. 2020. 6. 10.
[์ž๋ฃŒ ๊ตฌ์กฐ] - ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ :: Stack Data Structure Stack ์Šคํƒ์€ Abstract Data Type์œผ๋กœ ์ถ”์ƒ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค. ์Šคํƒ์€ ํ›„์ž… ์„ ์ถœ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, LIFO๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค. L : last I : in F : frist O : out ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ”„๋ง๊ธ€์Šค๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ์Šคํƒ์˜ ๊ธฐ๋ณธ์›๋ฆฌ ํ”„๋ง๊ธ€์Šค์—๋Š” ๊ฐ์ž์นฉ์ด ์ผ์ •ํ•œ ๋ชจ์–‘์œผ๋กœ ๋‹ด๊ฒจ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”„๋ง๊ธ€์Šค๋ฅผ ๊บผ๋‚ด๋จน๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋– ํ•œ ์ œ์กฐ ๊ณต์ •์—์„œ๋Š” ํ”„๋ง๊ธ€์Šค์— ๋“ค์–ด์žˆ๋Š” ๋‚ด์šฉ๋ฌผ์„ ํ”„๋ง๊ธ€์Šค ํ†ต์— ๋‹ด์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿผ ๊ณผ์ž๋ฅผ ๋งŒ๋“ค๊ณ  ํ†ต์— ๋‹ด์„ ๋•Œ ์ฒ˜์Œ์— ๋‹ด๊ธฐ๋Š” ๊ณผ์ž๊ฐ€ ํ”„๋ง๊ธ€์Šค ํ†ต์— ๊ฐ€์žฅ ์•„๋ž˜์— ์œ„์น˜ํ•˜๊ฒŒ ๋˜๊ณ  ๋งˆ์ง€๋ง‰์— ๋‹ด๋Š” ๊ณผ์ž๊ฐ€ ํ”„๋ง๊ธ€์Šค ํ†ต์— ๊ฐ€์žฅ ์œ„์— ์œ„์น˜ํ•˜๊ฒŒ ๋˜์–ด์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๋จน๊ฒŒ๋œ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์Šคํƒ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ์™€ ์ •ํ™•ํžˆ ๋ถ€ํ•ฉํ•œ๋‹ค. ์Šคํƒ์˜ ์—ฐ์‚ฐ Push ์Šคํƒ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ.. 2020. 6. 10.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS(DP)] (๋ฐฑ์ค€ 9095) 1, 2, 3 ๋”ํ•˜๊ธฐ ์ž๋ฐ” ๋ฐฑ์ค€ 9095 ๋Š” solved.ac ๊ธฐ์ค€ Tier : silver 3 DP ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ธฐ ์ด๋ฉฐ, ํ•ด๋‹น ๋ฌธ์ œ์—๋„ ์ ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค. ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์ œ์— ๋ณด์ด๋Š” ์ผ์ •ํ•œ ๊ทœ์น™์„ ์ฐพ์•„ ์ ํ™”์‹์œผ๋กœ ๋„์ถœํ•˜๋Š” ๊ณผ์ •์ด ํ•„์ˆ˜์ ์ด๋‹ค. ๋ฌธ์ œ ์ž…์ถœ๋ ฅ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ 1์— ๋”ํ•˜๊ธฐ ๊ฒฝ์šฐ์˜ ์ˆ˜์™€ 2์˜ ๋”ํ•˜๊ธฐ ๊ฒฝ์šฐ์˜ ์ˆ˜, 3์˜ ๋”ํ•˜๊ธฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ–ˆ๋‹ค. ์ž์„ธํžˆ ๋ฌธ์ œ๋ฅผ ๋ณธ๋‹ค๋ฉด x + x + x + x + x = n ์ผ ๊ฒฝ์šฐ n์ด 1๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒฝ์šฐ x + x + x + x + 1 = n x ๋Š” n - 1 n์ด 2๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒฝ์šฐ x + x + x + x + 2 = n x ๋Š” n - 2 n์ด 3์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒฝ์šฐ x + x + x + .. 2020. 4. 1.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS(DP)] (๋ฐฑ์ค€ 1463) 1๋กœ ๋งŒ๋“ค๊ธฐ ๋ฐฑ์ค€ 1๋กœ ๋งŒ๋“ค๊ธฐ ๋Š” solved.ac ๊ธฐ์ค€ Tier : Silver3 ์ด ๋ฌธ์ œ๋Š” DP ๋ฌธ์ œ๋กœ ๋ถ„๋ฅ˜๋˜๋ฉฐ DP ๋ฌธ์ œ์ค‘ ์‰ฌ์šด ํŽธ์— ์†ํ•œ๋‹ค. DP ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ธฐ ์ด๋ฉฐ, ํ•ด๋‹น ๋ฌธ์ œ์—๋„ ์ ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค. ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์ œ์— ๋ณด์ด๋Š” ์ผ์ •ํ•œ ๊ทœ์น™์„ ์ฐพ์•„ ์ ํ™”์‹์œผ๋กœ ๋„์ถœํ•˜๋Š” ๊ณผ์ •์ด ํ•„์ˆ˜์ ์ด๋‹ค. ๋ฌธ์ œ ์ž…์ถœ๋ ฅ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ • 1๋กœ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ๋Š” ์ •์ˆ˜ x๋ฅผ ์ž…๋ ฅ ๋ฐ›๊ณ  x๊ฐ€ 1์ด๋˜๊ธฐ ๊นŒ์ง€ ์ตœ๋‹จ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ 1๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์ด ์กด์žฌํ•œ๋‹ค. x๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. x๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด 2๋กœ ๋‚˜๋ˆˆ๋‹ค. x์— 1์„ ๋บ€๋‹ค. ์ด๋ฅผ ๊ธฐ์ค€์„ ๋ฌธ์ œ๋ฅผ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž. ๋ฌธ์ œ๋ฅผ ์ž‘๊ฒŒํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฌธ์ œ๋ฅผ ์ž‘๊ฒŒ ๋งŒ.. 2020. 3. 27.