ํฌ์ŠคํŠธ

๐ŸŒ“ ์ˆ˜์‹์˜ ๊ด„ํ˜ธ ์Œ

๐Ÿ’ซ ์ •์˜


32 - {6 - (2 + 4) * 7} -> {()} O
5 + {6 - (12 + 4} * 7) -> {(}) X

์ฃผ์–ด์ง„ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด ์˜ฌ๋ฐ”๋ฅธ์ง€/๊ท ํ˜•์žกํ˜”๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฌธ์ œ.


๐Ÿซง ๊ด„ํ˜ธ๊ฐ€ ํ•œ ์ข…๋ฅ˜์ผ ๋•Œ

  • ์•ˆ์ชฝ๋ถ€ํ„ฐ ์ง์„ ๋งž์ถฐ ์ง€์›Œ๋‚˜๊ฐ„๋‹ค, ๋ชจ๋‘ ์ง€์›Œ์ง„๋‹ค๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์ž์—ด
  • ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ ์ˆ˜๋ฅผ ๋น„๊ตํ•œ๋‹ค, ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๋ฌธ์ž์—ด
    • ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๊ณ  ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์ž์—ด์ธ ๊ฒƒ์€ ์•„๋‹˜ (i.e. ))(()


๐Ÿซง ๊ด„ํ˜ธ๊ฐ€ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์ผ ๋•Œ

  • ์•ˆ์ชฝ๋ถ€ํ„ฐ ์ง์„ ๋งž์ถฐ ์ง€์›Œ๋‚˜๊ฐ„๋‹ค, ๋ชจ๋‘ ์ง€์›Œ์ง„๋‹ค๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์ž์—ด


๐Ÿซง ๊ด€์ฐฐ

๋ฌธ์ž์—ด์„ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฝ์–ด๋‚˜๊ฐˆ ๋•Œ,
๋‹ซ๋Š” ๊ด„ํ˜ธ๋Š” ๋‚จ์•„์žˆ๋Š” ๊ด„ํ˜ธ ์ค‘์—์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“ค์–ด์˜จ ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ์ง์„ ์ง€์–ด ์—†์• ๋ฒ„๋ฆฌ๋Š” ๋ช…๋ น์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋„ ๋œ๋‹ค.


๐Ÿ’ซ Solve By Stack


๐Ÿซง ์™œ Why

๋ฐฐ์—ด์„ ์ด์šฉํ•œ ๊ตฌํ˜„
์ตœ๋Œ€ N๋ฒˆ ์ค‘๊ฐ„ ์›์†Œ์˜ ์‚ญ์ œ๊ฐ€ ๋ฐœ์ƒ O(N2)

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์„ ์ด์šฉํ•œ ๊ตฌํ˜„
O(N)


๐Ÿซง ๊ตฌํ˜„

์—ฌ๋Š” ๊ด„ํ˜ธ๋ฅผ ์ฝ์„ ๋•Œ ๋งˆ๋‹ค ์ €์žฅํ•˜๋‹ค๊ฐ€ ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ฅผ ์ฝ์„ ๋•Œ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“ค์–ด์˜จ, ์ฆ‰ ๊ฐ€์žฅ ๋์— ์žˆ๋Š” ์—ฌ๋Š” ๊ด„ํ˜ธ์˜ ์ง์„ ์ด๋ฃจ๊ฒŒ ํ•ด์ฃผ๊ณ  pop๋ฅผ ํ•˜๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ์Œ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์— ์ถ”๊ฐ€
  2. ๋‹ซ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์™”์„ ๊ฒฝ์šฐ,
    1. ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ ์Œ
    2. ์Šคํƒ์˜ top์ด ์ง์ด ๋งž์ง€ ์•Š๋Š” ๊ด„ํ˜ธ์ผ ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ ์Œ
    3. ์Šคํƒ์˜ top์ด ์ง์ด ๋งž๋Š” ๊ด„ํ˜ธ์ผ ๊ฒฝ์šฐ pop
  3. ๋ชจ๋“  ๊ณผ์ •์„ ๋๋‚ธ ํ›„ ์Šคํƒ์— ๊ด„ํ˜ธ๊ฐ€ ๋‚จ์•„์žˆ์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ ์Œ, ๋‚จ์•„์žˆ์ง€ ์•Š์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ์Œ


๐Ÿซง ๋ฐฑ์ค€


์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.