๋ชฉ๋ก์ „์ฒด ๊ธ€ (132)

YS's develop story

Heap (ํž™) ์ •๋ฆฌ

๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป Heap (ํž™) ์ •๋ฆฌ With Python ๐Ÿฅ Heap ์ด๋ž€? ๋ฐ์ดํ„ฐ์—์„œ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ(Complete Binary Tree)์ž…๋‹ˆ๋‹ค. ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ? Node๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์ตœํ•˜๋‹จ ์™ผ์ชฝ Node๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์‚ฝ์ž…ํ•˜๋Š” Tree ๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ , ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์œผ๋ ค๋ฉด O(n) ์ด ๊ฑธ๋ฆฌ์ง€๋งŒ ํž™์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ , ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์œผ๋ฉด O(logn) ์ด ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์•„์•ผ ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ํž™์€ ์•„๋ž˜์˜ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ์˜ ๊ฐ’์€ ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๊ฐ€์ง„ ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๐Ÿ‹ Heap VS Binary Search Tree ๊ณตํ†ต์ ..

Data Structure 2021. 7. 28. 09:37
Tree (ํŠธ๋ฆฌ) ์ •๋ฆฌ

๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป Tree (ํŠธ๋ฆฌ) ์ •๋ฆฌ With Python ๐Ÿฅ Tree๋ž€? Node์™€ Branch๋ฅผ ์ด์šฉํ•ด์„œ Cycle์„ ์ด๋ฃจ์ง€ ์•Š๋„๋ก ๊ตฌ์„ฑํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๐Ÿ‹ ๊ด€๋ จ ์šฉ์–ด Node : ํŠธ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ๋ณธ ์š”์†Œ Root Node : ํŠธ๋ฆฌ์˜ ์ตœ์ƒ์œ„ ๋…ธ๋“œ Level : ์ตœ์ƒ์œ„ ๋…ธ๋“œ๋ฅผ Level 0์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ํ•˜์œ„ Branch๋กœ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ์˜ ๊นŠ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. Parent Node : ์–ด๋–ค ๋…ธ๋“œ์˜ ๋ถ€๋ชจ ๋…ธ๋“œ Child Node : ์–ด๋–ค ๋…ธ๋“œ์˜ ์ž์‹ ๋…ธ๋“œ Leaf Node : Child Node๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” ๋…ธ๋“œ Sibling : ๋™์ผํ•œ Parent Node๋ฅผ ๊ฐ€์ง€๋Š” ๋…ธ๋“œ Depth : ํŠธ๋ฆฌ์—์„œ Node๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ Level (์œ„ ์‚ฌ์ง„์—์„œ์˜ Depth๋Š” 2) ๐ŸŠ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์ด..

Data Structure 2021. 7. 27. 09:44
Linked List (๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ) ์ •๋ฆฌ

๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป Linked List (๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ) ์ •๋ฆฌ With Python ๐Ÿฅ Linked List๋ž€? ๐Ÿˆ Linked List ๊ตฌ์กฐ Linked List์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ์œ„ ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ : ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๋‹จ์œ„, ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ์ธํ„ฐ : ๊ฐ ๋…ธ๋“œ ์•ˆ์—์„œ ๋‹ค์Œ์ด๋‚˜ ์ด์ „์˜ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด์ด ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ Linked List์ž…๋‹ˆ๋‹ค. ๐Ÿ‰ Linked List ์žฅ๋‹จ์  Linked List์— ํŠน์ • ๊ฐ’์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•  ๋•Œ ์œ„์™€ ๊ฐ™์ด ๋ณ„๋„์˜ ์ž‘์—…์„ ํ•ด์ฃผ๋Š” ๋กœ์ง์ด ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๐ŸŠ Linked List ๊ตฌํ˜„ (with Python) class Node: def __init__(self, data): self...

Data Structure 2021. 7. 23. 09:49
Open API ํ™œ์šฉํ•˜์—ฌ ๊ณตํœด์ผ ์ •๋ณด DB์— ์ €์žฅ ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ with request module ๐Ÿ€

๐Ÿ€ Open API ํ™œ์šฉํ•˜์—ฌ ๊ณตํœด์ผ ์ •๋ณด ์ €์žฅ ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ with request module โŒ› Problem ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ˆ์•ฝ ๊ด€๋ จ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ๋ชจ๋“  ๊ณตํœด์ผ ๋‚ ์งœ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ๋งŒ ๊ณตํœด์ผ์— ์˜ˆ์•ฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ๊ณตํœด์ผ ๋‚ ์งœ๋ฅผ DB์— ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ธํ„ฐ๋„ท์—์„œ ๋ชจ๋“  ๊ณตํœด์ผ์„ ์ฐพ์•„์„œ DB์— ํ•˜๋‚˜์”ฉ ์ž…๋ ฅํ•˜๋ฉด ๋ ๊นŒ์š”? ๋ฌผ๋ก  ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๋„ˆ๋ฌด ๋ณ„๋กœ์ธ ๊ฑฐ ๊ฐ™์•„์š”.. ๐Ÿ˜• ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๐Ÿ“œ Solution ํ•œ๊ตญ์ฒœ๋ฌธ์—ฐ๊ตฌ์›_ํŠน์ผ ์ •๋ณด (์ฒœ๋ฌธ์šฐ์ฃผ์ •๋ณด)๊ตญ๊ฒฝ์ผ์ •๋ณด, ๊ณตํœด์ผ์ •๋ณด, ๊ธฐ๋…์ผ์ •๋ณด, 24์ ˆ๊ธฐ์ •๋ณด, ์žก์ ˆ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” ์„œ๋น„์Šค ์ž…๋‹ˆ๋‹ค. www.data.go.kr ๊ฒ€์ƒ‰ ์ค‘ ๊ณตํœด์ผ ๊ด€๋ จ ์˜คํ”ˆ API๊ฐ€ ์žˆ์Œ์„ ์ฐพ๊ฒŒ ๋˜์—ˆ๊ณ  ์œ„ ๋งํฌ์—..

๊ธฐํƒ€ 2021. 7. 21. 09:46