์ฝ”๋“œํŠธ๋ฆฌ์กฐ๋ณ„๊ณผ์ œ 2

[์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ] Preprocessing

์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ค‘ ํ•˜๋‚˜๋กœ ์„ค๋ช…๋˜๋Š” ์ „์ฒ˜๋ฆฌ์ด๋‹ค.์ „์ฒ˜๋ฆฌ๋ผ๋Š” ๋‹จ์–ด์˜ ์˜๋ฏธ์™€ ๊ฐ™์ด ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์„ ์ œ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์™„์ „ํƒ์ƒ‰์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฌธ์ œ 1) ๊ด„ํ˜ธ ์Œ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ๋‹จ์ˆœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด ๋ชจ๋“  ์ธ๋ฑ์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‘๊ฐœ์ธ ์‹œ์ž‘์ ์„ ์ฐพ๊ณ , ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‘๊ฐœ์ธ ๋ ์ ์„ ์ „๋ถ€ ์ฐพ์•„์„œ ํ•ด์•ผ๋œ๋‹ค. ์ด๋Š” (((()))), (())(())์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์ตœ์•…์˜ ๊ฒฝ์šฐ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ((์„ ์žก๊ณ  ))์„ ์ฐพ๊ธฐ์œ„ํ•ด ๋ชจ๋“  ์ธ๋ฑ์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N^2)๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. sol1) ๋ˆ„์ ํ•ฉ ์‘์šฉ ์ „์ฒ˜๋ฆฌ๋ˆ„์ ํ•ฉ์˜ ๋Œ€์ƒ์„ ํŠน์ • ์ธ๋ฑ์Šค ์˜ค๋ฅธ์ชฝ์˜ ))์˜ ๊ฐœ์ˆ˜๋กœ ํ•œ๋‹ค. ( ( ) ) ( ( ) ) ( ( ) ) ์™€ ๊ฐ™์€ ์˜ˆ์‹œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž.์ธ๋ฑ์Šค์˜ ์—ญ์ˆœ์œผ๋กœ ..

algorithm 2024.07.24

[์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ] +1 -1 Technique

๊ธฐ๋ณธ ๊ฐœ๋…1์ฐจ ์ˆ˜์ง์„  ์ƒ์— n๊ฐœ์˜ ์„ ๋ถ„์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, x = k ์ง์„ ๊ณผ ๋งŒ๋‚˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์„ ๋ถ„์˜ ์ˆ˜๋Š” ๋ช‡ ๊ฐœ์ธ์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”.๋‹จ, ์ฃผ์–ด์ง€๋Š” x ์ขŒํ‘œ๋Š” ๋ชจ๋‘ ๋‹ค๋ฆ„์„ ๊ฐ€์ •ํ•ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๊ฐ€์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด 2๊ฐœ๋ผ๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฐ€์‹œ์„ฑ์„ ์ปดํ“จํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‰ฝ๊ฒŒ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œ์ž‘์ ์— +1, ๋ ์ ์— -1์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.K๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ณด๋‹ค ์™ผ์ชฝ์— ์žˆ๋Š” ์ ๋“ค์„ ์ƒ๊ฐํ•˜์—ฌ ๋งŒ์•ฝ ๋ ์ ์ด k๋ณด๋‹ค ์ž‘๋‹ค๋ฉด k์™€ ๊ฒน์น˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‹œ์ž‘์ ์˜ ๊ฐ’ +1 + ๋์ ์˜ ๊ฐ’ -1์„ ํ•˜๋ฏ€๋กœ 0์ด๋œ๋‹ค.K๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ณด๋‹ค ์‹œ์ž‘์ ์ด ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ์  ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋ฉฐ ๋งŒ์•ฝ ๊ฒน์น˜๋Š” ์ ์ด ์ƒ๊ธธ ๊ฒฝ์šฐ ์‹œ์ž‘์ ์ด +1์ด๋ฏ€๋กœ ๊ฒน์น˜๋Š” ๊ตฌ๊ฐ„ +1๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.์ด๋ ‡๊ฒŒ ๋œ๋‹ค๋ฉด ํŠน์ •ํ•œ ๊ตฌ๊ฐ„..

algorithm 2024.07.17