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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ439

[Data Structures & Algorithms] ํ(Queue)์˜ ์ดํ•ด์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์—ฐ๊ฒฐ ํ, ์ˆœ์ฐจ ํ, ์›ํ˜• ํ) ๐Ÿฆ„ ํ(Queue)๋ž€? ํ(Queue)๋Š” ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, "์„ ์ž…์„ ์ถœ(FIFO, First-In-First-Out)" ์›์น™์„ ๋”ฐ๋ฅธ๋‹ค. ์Šคํƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๊ณ  ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ์œ„์น˜๊ฐ€ ์ œํ•œ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋’ท ๋ถ€๋ถ„์—์„œ๋Š” ์‚ฝ์ž…๋งŒ์„, ์•ž ๋ถ€๋ถ„์—์„œ๋Š” ์‚ญ์ œ ์ž‘์—…๋งŒ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. ๐Ÿ’œ ํ(Queue)์™€ ์Šคํƒ ์—ฐ์‚ฐ ํ•ญ๋ชฉ ์‚ฝ์ž… ์—ฐ์‚ฐ ์‚ญ์ œ ์—ฐ์‚ฐ ์ž๋ฃŒ๊ตฌ์กฐ ์—ฐ์‚ฐ์ž ์‚ฝ์ž… ์œ„์น˜ ์—ฐ์‚ฐ์ž ์‚ญ์ œ ์œ„์น˜ Stack push top pop top Queue enQueue rear deQueue front ๐Ÿ’œ ํ(Queue)์˜ ์ถ”์ƒ ์ž๋ฃŒํ˜• ADT Queue //๊ณต๋ฐฑ ํ ์ƒ์„ฑ createQueue() ::= create an empty Q; //ํ๊ฐ€ ๊ณต๋ฐฑ ์ƒํƒœ์ธ์ง€ ๊ฒ€์‚ฌ isEmpty(Q).. 2023. 6. 11.
[๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•] ์ œ 3์žฅ ๊ฐœ์ธ์ •๋ณด์˜ ์ฒ˜๋ฆฌ (์ œ 28์กฐ์˜ 8 ~ 11 & ์š”์•ฝ) ๐Ÿ”๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ• ๊ฐœ์ธ์ •๋ณด ๊ตญ์™ธ์ด์ „ ํŒŒํŠธ ๊ด€๋ จ ๊ฐœ๋… ์ •๋ฆฌ ๐Ÿชถ ๊ตญ์™ธ ์ด์ „์˜ ์ข…๋ฅ˜ ๐Ÿชถ ์ œ 3์ž ์ œ๊ณต ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ์œ„ํƒ ๋ณด๊ด€ ๐Ÿชถ ๊ตญ์™ธ ์ด์ „์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๐Ÿชถ โ‘  ์ •๋ณด ์ฃผ์ฒด์˜ ๋ณ„๋„ ๋™์˜ โ‘ก ์ฒ˜๋ฆฌ์œ„ํƒ ๋ฐ ๋ณด๊ด€ โ€ป (1) ์ •๋ณด์ฃผ์ฒด์™€์˜ ๊ณ„์•ฝ ์ฒด๊ฒฐ ๋ฐ ์ดํ–‰์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋กœ์„œ (2-1) ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ ๋ฐฉ์นจ์— ๊ณต๊ฐœํ•˜๊ฑฐ๋‚˜ (2-2) ๊ฐœ๋ณ„ ํ†ต์ง€ํ•œ ๊ฒฝ์šฐ โ‘ข ๋ฒ•๋ฅ , ์กฐ์•ฝ, ๊ตญ์ œ ํ˜‘์ •์— ๊ฐœ์ธ์ •๋ณด ์ด์ „์— ๊ด€ํ•œ ๋‚ด์šฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ โ‘ฃ ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ด์ „๋ฐ›๋Š” ์ž๊ฐ€ ISMS-P ์ธ์ฆ์„ ๋ฐ›๊ณ  (1) ๊ฐœ์ธ์ •๋ณด ์•ˆ์ „์กฐ์น˜ (2) ์ •๋ณด์ฃผ์ฒด ๊ถŒ๋ฆฌ๋ณด์žฅ์— ํ•„์š”ํ•œ ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ โ‘ค ๊ฐœ์ธ์ •๋ณด๊ฐ€ ์ด์ „๋˜๋Š” ๊ตญ๊ฐ€ ๋˜๋Š” ๊ตญ์ œ๊ธฐ๊ตฌ์˜ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ ์ˆ˜์ค€์ด ์šฐ๋ฆฌ๋‚˜๋ผ์™€ ๋™๋“ฑ ์ˆ˜์ค€์„ ๊ฐ–์ถ”์—ˆ๋‹ค๊ณ  ๊ฐœ์ธ์ •๋ณด์œ„๊ฐ€ ์ธ์ •ํ•˜๋Š” ๊ฒฝ์šฐ ๐Ÿชถ ๊ตญ์™ธ ์ด์ „ ๋™์˜๋ฅผ ๋ฐ›๋Š” ๊ฒฝ์šฐ ์ •๋ณด ์ฃผ์ฒด์— ์•Œ๋ ค.. 2023. 6. 11.
[Data Structures & Algorithms] ์Šคํƒ(Stack)์˜ ์ดํ•ด์™€ ์‘์šฉ ๐Ÿงฟ ์Šคํƒ(Stack) ์ด๋ž€? ์Šคํƒ(Stack)์ด๋ž€ ํ•œ์ชฝ ๋์—์„œ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฝ์ž…๋œ ์›์†Œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์‚ญ์ œ๋˜๋Š” "ํ›„์ž…์„ ์ถœ(LIFO, Last-In-First-Out)"์˜ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. ์Šคํƒ(Stack) ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ ์ฃผ๋กœ ํ•จ์ˆ˜ ํ˜ธ์ถœ, ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋’ค๋กœ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๋“ฑ์—์„œ ํ™œ์šฉ๋œ๋‹ค. ๐Ÿ’™ ์Šคํƒ(Stack)์—์„œ์˜ ์—ฐ์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ญ์ œ ์—ฐ์‚ฐ ์‚ฝ์ž… ์—ฐ์‚ฐ pop push โ‘  ์Šคํƒ์˜ push() ์•Œ๊ณ ๋ฆฌ์ฆ˜ push(S,x) top stack_SIZE) then overflow; else //์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์•„๋ž˜ ์ฝ”๋“œ ์‹คํ–‰ { S(top) ํ›„์ž… ์„ ์ถœ ๊ตฌ์กฐ์ธ Stack์„ ์ด์šฉํ•˜์—ฌ ๊ด„ํ˜ธ ๊ฒ€์‚ฌ ๊ฐ€๋Šฅ โ€ป ์ˆ˜์‹์„ ์™ผ์ชฝ์—์„œ ์˜ค.. 2023. 6. 11.
[Data Structures & Algorithms] ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์™€ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ & ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์—ฐ์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๐ŸŽช ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€? ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๊ฐ€ ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ ๋ฒˆ์žฌ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•˜์—ฌ ๊ตฌ์กฐ๋ฅผ ์›ํ˜•์œผ๋กœ ์„ค์ •ํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์ด ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ์˜ ๋งํฌ ํ•„๋“œ์— ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜์—ฌ, ๋งํฌ๋ฅผ ๋”ฐ๋ผ ๋ฐ˜๋ณต ์ˆœํšŒํ•  ์‹œ ์ด์ „ ๋…ธ๋“œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. โค๏ธ ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜_ 1) ์‚ฝ์ž… ์—ฐ์‚ฐ โ‘  ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋กœ ์‚ฝ์ž…ํ•˜๊ธฐ insertFirstNode(CL, x) new 2023. 6. 11.
[Data Structures & Algorithms] ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์™€ ์—ฐ์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๐ŸŽฏ ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ(Linked Data Structure)๋ž€? ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ์ž๋ฃŒ์˜ ๋…ผ๋ฆฌ์  ์ˆœ์„œ์™€ ๋ฌผ๋ฆฌ์  ์ˆœ์„œ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งํ•œ๋‹ค. ๊ฐ ์›์†Œ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋‹ค์Œ ์›์†Œ์˜ ์ฃผ์†Œ์— ์˜ํ•ด ์ˆœ์„œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ, ๋ฌผ๋ฆฌ์  ์ˆœ์„œ๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๐ŸŽฏ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)๋ž€? ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)๋ผ๊ณ  ํ•˜๋ฉฐ, ์—ฐ๊ฒฐ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹จ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์ด์ค‘ ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. โค๏ธ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ๋…ธ๋“œ : ์—ฐ๊ฒฐ ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์œ„ ๊ตฌ์กฐ ๋…ธ๋“œ์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ ํ•„๋“œ (Data field) ๋งํฌ ํ•„๋“œ (Link fiel.. 2023. 6. 10.
[๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•] ์ œ 3์žฅ ๊ฐœ์ธ์ •๋ณด์˜ ์ฒ˜๋ฆฌ (๊ฐ€๋ช…์ •๋ณด ์ฒ˜๋ฆฌ ํŠน๋ก€ & ์šฉ์–ด ์ •๋ฆฌ & ์š”์•ฝ) ๐ŸŽ“ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ• ์šฉ์–ด ์ •๋ฆฌ โš–๏ธ ๊ฐ€๋ช… ์ฒ˜๋ฆฌ โš–๏ธ : ๊ฐœ์ธ์ •๋ณด์˜ ์ผ๋ถ€๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ผ๋ถ€ ๋˜๋Š” ์ „๋ถ€๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๋“ฑ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์—†์ด๋Š” ํŠน์ • ๊ฐœ์ธ์„ ์•Œ์•„๋ณผ ์ˆ˜ ์—†๋„๋ก ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ์ œ 2์กฐ ์ œ 1ํ˜ธ์˜ 2 โš–๏ธ ๊ฐ€๋ช… ์ •๋ณด โš–๏ธ : ๊ฐ€๋ช…์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ์›๋ž˜์˜ ์ƒํƒœ๋กœ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ์ •๋ณด์˜ ์‚ฌ์šฉ·๊ฒฐํ•ฉ ์—†์ด๋Š” ํŠน์ • ๊ฐœ์ธ์„ ์•Œ์•„๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด ์ œ 2์กฐ ์ œ 1ํ˜ธ ๋‹ค๋ชฉ โš–๏ธ ๊ฐ€๋ช… ์ •๋ณด ์ฒ˜๋ฆฌ โš–๏ธ : ๊ฐ€๋ช…์ฒ˜๋ฆฌํ•œ ๊ฐœ์ธ์ •๋ณด(๊ฐ€๋ช…์ •๋ณด)๋ฅผ ์ˆ˜์ง‘, ์ด์šฉ, ์ œ๊ณต ๋“ฑ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•์—์„œ๋Š” '๊ฐ€๋ช…์ •๋ณด ์ฒ˜๋ฆฌ'๊ฐ€ '๊ฐ€๋ช…์ฒ˜๋ฆฌ'์˜ ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•จ โš–๏ธ ๊ฐ€๋ช… ์ฒ˜๋ฆฌ (Pseudonymization) โš–๏ธ : ์ˆ˜์ง‘ํ•œ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๊ฐ€๋ช…์ •๋ณด๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•์—์„œ๋Š” '๊ฐ€๋ช…์ •๋ณด ์ฒ˜๋ฆฌ'๊ฐ€ '๊ฐ€๋ช…์ฒ˜๋ฆฌ'์˜ ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•จ โš–๏ธ ์ฒ˜๋ฆฌ โš–.. 2023. 6. 10.