๋ชฉ๋กPython (36)

๐ŸŒฑ → ๐ŸŒณ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ - 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
[๋ฐฑ์ค€] 10866๋ฒˆ: ๋ฑ python

https://www.acmicpc.net/problem/10866 10866๋ฒˆ: ๋ฑ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€ www.acmicpc.net ๋ฌธ์ œ ์ •๋ณด ๋ฌธ์ œ ์œ ํ˜• ๋‚œ์ด๋„ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ ์Šค์Šค๋กœ ๊ตฌํ˜„ ์„ฑ๊ณต ๋ฑ ์‹ค๋ฒ„4 10m O ์„ค๊ณ„ ๋ฐฉ๋ฒ• ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ๋ฐฉ๋ฒ• ๋ฑ ํด๋ž˜์Šค ์ƒ์„ฑ ํ›„ ๊ฐ ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„ ๋‹ค๋ฅธ ํ’€์ด 1 ๊ฐ„๋‹จํ•˜๊ฒŒ deque ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•œ ํ’€์ด ๋‹ค๋ฅธ ํ’€์ด 2 dictionary๋ฅผ ์ด์šฉํ•˜์—ฌ switch-case๋ฌธ์„ ๊ตฌํ˜„ ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ key๊ฐ’์„ ๊ฐ€์ง€๊ณ  ๋”•์…”๋„ˆ๋ฆฌ์— ์ ‘๊ทผํ•˜์—ฌ ๋Œ€์‘๋˜๋Š” value๊ฐ’์„ ํ†ตํ•ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ์ฝ”๋“œ ๋‚ด ํ’€์ด im..

Algorithms 2023. 1. 8. 17:27
[๋ฐฑ์ค€] 9012๋ฒˆ: ๊ด„ํ˜ธ python

https://www.acmicpc.net/problem/9012 9012๋ฒˆ: ๊ด„ํ˜ธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Parenthesis String, PS)์€ ๋‘ ๊ฐœ์˜ ๊ด„ํ˜ธ ๊ธฐํ˜ธ์ธ ‘(’ ์™€ ‘)’ ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ๊ทธ ์ค‘์—์„œ ๊ด„ํ˜ธ์˜ ๋ชจ์–‘์ด ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Valid PS, VPS)์ด๋ผ๊ณ  www.acmicpc.net ์„ค๊ณ„ ๋ฐฉ๋ฒ• ๋‚˜์˜ ๋ฐฉ๋ฒ• ps๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ “(”๋ฉด stack์— ๋„ฃ๊ณ  “)”๋ฉด stack์—์„œ ๋นผ์ฃผ์—ˆ์Œ “)”์ธ๋ฐ stack์—์„œ ๋บ„ ๊ฒŒ ์—†์œผ๋ฉด vps๊ฐ€ ์•„๋‹Œ๊ฑฐ๊ณ , ps๋ฅผ ๋ชจ๋‘ ๋Œ๊ณ  ๋‚˜์„œ๋„ (๊ฐ€ ๋‚จ์•„์žˆ์–ด๋„ vps๊ฐ€ ์•„๋‹˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• ๊ผญ stack์„ ์ด์šฉํ•˜์ง€ ์•Š๋”๋ผ๋„ sum = 0 ์ด๋ผ๊ณ  ์„ ์–ธ ํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Œ “(”๋ฉด sum +=1, “)” ์ด๋ฉด sum -=1 ์ด๋Ÿฐ ์‹์œผ..

Algorithms 2023. 1. 3. 11:41