Tinkerbell Glitter
[250424] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ ๋ฌธ์ œ
Algorithm ๐Ÿ“Š/๋ฌธ์ œ ํ’€์ด ๐Ÿ’ฏ
์ง์‚ฌ๊ฐํ˜• ๋„“์ด ๊ตฌํ•˜๊ธฐ ๐Ÿ“Q. 2์ฐจ์› ์ขŒํ‘œ ํ‰๋ฉด์— ๋ณ€์ด ์ถ•๊ณผ ํ‰ํ–‰ํ•œ ์ง์‚ฌ๊ฐํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์‚ฌ๊ฐํ˜• ๋„ค ๊ผญ์ง“์ ์˜ ์ขŒํ‘œ [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด `dots`๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ง์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ`dots`์˜ ๊ธธ์ด = 4`dots`์˜ ์›์†Œ์˜ ๊ธธ์ด = 2-256 ์ž˜๋ชป๋œ ์ž…๋ ฅ์€ ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆdotsresult[[1, 1], [2, 1], [2, 2], [1, 2]]1[[-1, -1], [1, 1], [1, -1], [-1, 1]]4 A.def solution(dots): x_values = [x for x, y in dots] y_values = [y ..
[250414] ํž™(Heap)์ด๋ž€?
Algorithm ๐Ÿ“Š/๊ฐœ๋… ์ •๋ฆฌ ๐Ÿ“š
ํž™(Heap)์ด๋ž€?1. ํž™(Heap)์˜ ์ •์˜ํž™(Heap)์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ(Complete Binary Tree)์˜ ํ•œ ํ˜•ํƒœ๋กœ, ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค.ํ•ญ์ƒ ๋ฃจํŠธ ๋…ธ๋“œ์— ์ตœ๋Œ“๊ฐ’ ๋˜๋Š” ์ตœ์†Ÿ๊ฐ’์ด ์œ„์น˜ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์š”์†Œ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.2. ํž™์˜ ์ข…๋ฅ˜ํž™์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.์ตœ๋Œ€ ํž™(Max Heap)๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ํ˜•ํƒœ์˜ ํž™๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ์ „์ฒด ํŠธ๋ฆฌ ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ๊ฐ€์ง์ตœ์†Œ ํž™(Min Heap)๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ํ˜•ํƒœ์˜ ํž™๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ์ „์ฒด ํŠธ๋ฆฌ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๊ฐ€์ง3. ํž™์˜ ํŠน์ง•์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ชจ๋“  ๋ ˆ๋ฒจ์ด ๊ฐ€๋“ ์ฐจ์žˆ๊ณ , ๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ์€ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฑ„์›Œ์ง์šฐ์„ ์ˆœ์œ„ ์ ‘๊ทผ..
[250403] FIFO(First In First Out)๋ž€?
Algorithm ๐Ÿ“Š/๊ฐœ๋… ์ •๋ฆฌ ๐Ÿ“š
FIFO(First In First Out)์ด๋ž€?1. ์ •์˜ (Definition)FIFO (First In First Out) ๋Š” ๋ง ๊ทธ๋Œ€๋กœ "์„ ์ž…์„ ์ถœ(ๅ…ˆๅ…ฅๅ…ˆๅ‡บ)" ์„ ๋œปํ•˜๋Š” ์šฉ์–ด๋กœ, ๊ฐ€์žฅ ๋จผ์ € ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ถœ๋ ฅ๋˜๋Š”์ž๋ฃŒ๊ตฌ์กฐ ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์˜๋ฏธํ•œ๋‹ค.2. ํŠน์ง• (Characteristics)๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐฉ์‹.๊ตฌํ˜„์ด ๋‹จ์ˆœํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.3. ์ ์šฉ ๋ถ„์•ผ ๋ฐ ์‚ฌ๋ก€ (Applications & Examples)์ž๋ฃŒ๊ตฌ์กฐ (Queue)๋Œ€ํ‘œ์ ์ธ FIFO ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํ(Queue)์ด๋‹ค.์ค„์„ ์„œ๋Š” ํ–‰์œ„์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์ชฝ ๋์—์„œ ์‚ฝ์ž…(Enqueue)ํ•˜๊ณ  ๋‹ค๋ฅธ ์ชฝ ๋์—์„œ ์‚ญ์ œ(Dequeue)ํ•œ๋‹ค.์šด์˜์ฒด์ œ (OS)์˜ ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„..
[250402] ์ž์นด๋“œ ์œ ์‚ฌ๋„(Jaccard Similarity)๋ž€?
Algorithm ๐Ÿ“Š/๊ฐœ๋… ์ •๋ฆฌ ๐Ÿ“š
์ž์นด๋“œ ์œ ์‚ฌ๋„(Jaccard Similarity)1. ์ž์นด๋“œ ์œ ์‚ฌ๋„๋ž€?์ž์นด๋“œ ์œ ์‚ฌ๋„(Jaccard Similarity)๋Š” ๋‘ ์ง‘ํ•ฉ ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋‘ ์ง‘ํ•ฉ์˜ ๊ต์ง‘ํ•ฉ ํฌ๊ธฐ๋ฅผ ํ•ฉ์ง‘ํ•ฉ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์œผ๋กœ ์ •์˜๋œ๋‹ค. ์ฃผ๋กœ ๋ฌธ์„œ๋‚˜ ํ…์ŠคํŠธ์˜ ์œ ์‚ฌ์„ฑ, ์‚ฌ์šฉ์ž ๊ฐ„ ๊ด€์‹ฌ์‚ฌ ๋น„๊ต, ์ถ”์ฒœ ์‹œ์Šคํ…œ ๋“ฑ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.2. ๊ณต์‹ ์ •์˜ ๋ฐ ์ˆ˜์‹๋‘ ์ง‘ํ•ฉ A, B์— ๋Œ€ํ•ด, ์ž์นด๋“œ ์œ ์‚ฌ๋„๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.โˆฃA∩Bโˆฃ: ๋‘ ์ง‘ํ•ฉ์˜ ๊ต์ง‘ํ•ฉ ํฌ๊ธฐโˆฃA∪Bโˆฃ: ๋‘ ์ง‘ํ•ฉ์˜ ํ•ฉ์ง‘ํ•ฉ ํฌ๊ธฐ3. ์˜ˆ์‹œ๋ฅผ ํ†ตํ•œ ์„ค๋ช…์ง‘ํ•ฉ์„ ํ†ตํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์‚ดํŽด๋ณด์ž.์ง‘ํ•ฉ A={1,2,3,4}์ง‘ํ•ฉ B={3,4,5,6}์ด๋ฅผ ํ†ตํ•ด ์ž์นด๋“œ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด:๊ต์ง‘ํ•ฉ: A∩B={3,4} → ํฌ๊ธฐ 2ํ•ฉ์ง‘ํ•ฉ: A∪B={1,2,3,4,5,6} → ํฌ๊ธฐ 6์ฆ‰, ๋‘ ์ง‘ํ•ฉ์˜ ..
[250227] ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด
Algorithm ๐Ÿ“Š/๊ฐœ๋… ์ •๋ฆฌ ๐Ÿ“š
~์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฅ˜~1. ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง (User-Based Collaborative Filtering)ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค๊ณผ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€๋ฅผ ์ธก์ •ํ•˜๊ณ , ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž๋“ค์ด ์„ ํ˜ธํ•˜๋Š” ์—ฌํ–‰์ง€๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ์‹.์žฅ์ : ๋‹จ์ˆœํ•œ ๋กœ์ง์œผ๋กœ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ํšจ๊ณผ์ .๋‹จ์ : ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์–ด๋ ต๊ณ , ์ถ”์ฒœ์ด ์ •ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ. (์ฝœ๋“œ ์Šคํƒ€ํŠธ ๋ฌธ์ œ)์˜ˆ์ œA์™€ B๊ฐ€ ๋น„์Šทํ•œ ์—ฌํ–‰์ง€๋ฅผ ์ข‹์•„ํ•˜๋Š” ๊ฒฝ์šฐ, B๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์—ฌํ–‰์ง€๋ฅผ A์—๊ฒŒ ์ถ”์ฒœ.์œ ์‚ฌ๋„ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ (Cosine Similarity)import numpy as npfrom sklearn.metrics.pairwise import cosine_similarityimport pandas as p..
[250211] ์ž๋ฃŒ๊ตฌ์กฐ ์ •๋ฆฌ~
Algorithm ๐Ÿ“Š/๊ฐœ๋… ์ •๋ฆฌ ๐Ÿ“š
์ž๋ฃŒ๊ตฌ์กฐ (Data Structure)๋ž€? ๐Ÿงฌ1. ์ž๋ฃŒ๊ตฌ์กฐ ์ •์˜์ž๋ฃŒ๊ตฌ์กฐ(Data Structure)๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์กฐํ™”๋˜๋ฉฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ๊ณผ ์ง๊ฒฐ๋œ๋‹ค.2. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ ์„ ํ˜• ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ๊ตฌ์กฐ๋กœ ๋‚˜๋‰œ๋‹ค.1๏ธโƒฃ ์„ ํ˜• ๊ตฌ์กฐ (Linear Data Structure)๋ฐ์ดํ„ฐ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ๊ตฌ์กฐ๋กœ, ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.(1) ๋ฐฐ์—ด (Array)ํŠน์ง•: ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์š”์†Œ๋“ค์ด ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋จ์žฅ์ : ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๋น ๋ฅธ ์กฐํšŒ (O(1))๋‹จ์ : ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •์ ์ด๋ฉฐ, ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ์–ด๋ ค์›€ (O(n))(2) ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Linked List)..