๋ชฉ๋กAlgorithms (80)

๐ŸŒฑ → ๐ŸŒณ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ - python

https://school.programmers.co.kr/learn/courses/30/lessons/42576 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์„ค๊ณ„ ๋ฐฉ๋ฒ• completion ๋Œ๋ฉด์„œ participant์— i๊ฐ€ ์žˆ์œผ๋ฉด completion ๋ฐฐ์—ด์—์„œ i ์ง€์›Œ์ฃผ๊ณ , ๋งˆ์ง€๋ง‰ ๋‚จ์€ participant๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Œ ๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n^2) ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ดˆ๊ณผ๋ฐœ์ƒ ๋ฌธ๋“ python ๋‚ด์žฅ sort() ํ•จ์ˆ˜๊ฐ€ O(nlogN)์ธ ๊ฒŒ ๊ธฐ์–ต๋‚ฌ์Œ ๋‚ด์žฅํ•จ์ˆ˜ ์‚ฌ์šฉํ•ด์„œ ์ •๋ ฌํ•œ ๋’ค, ์ˆœ์„œ๋Œ€๋กœ ๋นผ๋ฉด ๋˜๊ฒ ๊ตฌ๋‚˜ ์ƒ๊ฐํ•จ ์ฝ”๋“œ ์‹œ๊ฐ„์ดˆ๊ณผ de..

Algorithms 2023. 8. 2. 13:07
[Python] ํž™ ์ž๋ฃŒ๊ตฌ์กฐ / ํž™ํ(heapq) / ํŒŒ์ด์ฌ์—์„œ heapq ๋ชจ๋“ˆ ์‚ฌ์šฉ

ํž™์€ ํŠน์ •ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง€๋Š” ํŠธ๋ฆฌ๋กœ, ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ์—ฐ์‚ฐ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์™„์ „์ด์ง„ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ๋‹ค. ํž™ property : A๊ฐ€ B์˜ ๋ถ€๋ชจ๋…ธ๋“œ์ด๋ฉด A์˜ ํ‚ค๊ฐ’๊ณผ B์˜ ํ‚ค๊ฐ’ ์‚ฌ์ด์—๋Š” ๋Œ€์†Œ ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค ์ตœ์†Œ ํž™: ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์€ ํž™ ์ตœ๋Œ€ ํž™: ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฐ ํž™ ์ด๋Ÿฌํ•œ ์†์„ฑ์œผ๋กœ ์ธํ•ด ํž™์—์„œ๋Š” ๊ฐ€์žฅ ๋‚ฎ์€(ํ˜น์€ ๋†’์€) ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๋Š” ๋…ธ๋“œ๊ฐ€ ํ•ญ์ƒ ๋ฃจํŠธ์— ์˜ค๊ฒŒ ๋˜๊ณ  ์ด๋ฅผ ์ด์šฉํ•ด ์šฐ์„ ์ˆœ์œ„ ํ์™€ ๊ฐ™์€ ์ถ”์ƒ์  ์ž๋ฃŒํ˜•์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ํ‚ค๊ฐ’์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋Š” ๋ถ€๋ชจ/์ž์‹ ๊ฐ„์—๋งŒ ์„ฑ๋ฆฝํ•˜๊ณ , ํ˜•์ œ๋…ธ๋“œ ์‚ฌ์ด์—๋Š” ๋Œ€์†Œ ๊ด€๊ณ„๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š๋Š”๋‹ค. ํŒŒ์ด์ฌ ํž™ ์ž๋ฃŒ๊ตฌ์กฐ ํŒŒ์ด์ฌ heapq ๋ชจ๋“ˆ์€ heapq (priority queue) ์•Œ๊ณ ..

Algorithms 2023. 5. 30. 13:17