stack 5

[๋ฐฑ์ค€] 4949๋ฒˆ ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ

์ถœ์ฒ˜ https://www.acmicpc.net/problem/4949 4949๋ฒˆ: ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ์ค„์— ๊ฑธ์ณ์„œ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋ฌธ์ž์—ด์€ ์˜๋ฌธ ์•ŒํŒŒ๋ฒณ, ๊ณต๋ฐฑ, ์†Œ๊ด„ํ˜ธ("( )") ๋Œ€๊ด„ํ˜ธ("[ ]")๋“ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ธธ์ด๋Š” 100๊ธ€์ž๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ž…๋ ฅ์˜ ์ข…๋ฃŒ์กฐ๊ฑด์œผ๋กœ ๋งจ ๋งˆ www.acmicpc.net ๋ฌธ์ œ ์„ธ๊ณ„๋Š” ๊ท ํ˜•์ด ์ž˜ ์žกํ˜€์žˆ์–ด์•ผ ํ•œ๋‹ค. ์–‘๊ณผ ์Œ, ๋น›๊ณผ ์–ด๋‘  ๊ทธ๋ฆฌ๊ณ  ์™ผ์ชฝ ๊ด„ํ˜ธ์™€ ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค. ์ •๋ฏผ์ด์˜ ์ž„๋ฌด๋Š” ์–ด๋–ค ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ด„ํ˜ธ๋“ค์˜ ๊ท ํ˜•์ด ์ž˜ ๋งž์ถฐ์ ธ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜๋Š” ๊ด„ํ˜ธ๋Š” ์†Œ๊ด„ํ˜ธ("()") ์™€ ๋Œ€๊ด„ํ˜ธ("[]")๋กœ 2์ข…๋ฅ˜์ด๊ณ , ๋ฌธ์ž์—ด์ด ๊ท ํ˜•์„ ์ด๋ฃจ๋Š” ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋ชจ๋“  ์™ผ์ชฝ ์†Œ๊ด„ํ˜ธ("(")๋Š” ์˜ค๋ฅธ์ชฝ ..

[๋ฐฑ์ค€] 1874๋ฒˆ ์Šคํƒ ์ˆ˜์—ด

์ถœ์ฒ˜ https://www.acmicpc.net/problem/1874 1874๋ฒˆ: ์Šคํƒ ์ˆ˜์—ด 1๋ถ€ํ„ฐ n๊นŒ์ง€์— ์ˆ˜์— ๋Œ€ํ•ด ์ฐจ๋ก€๋กœ [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ˆ˜์—ด [4, 3, 6, 8, 7, 5, 2, 1]์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์Šคํƒ (stack)์€ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ ์ž์ฃผ ์ด์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. ์Šคํƒ์€ ์ž๋ฃŒ๋ฅผ ๋„ฃ๋Š” (push) ์ž…๊ตฌ์™€ ์ž๋ฃŒ๋ฅผ ๋ฝ‘๋Š” (pop) ์ž…๊ตฌ๊ฐ€ ๊ฐ™์•„ ์ œ์ผ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ์ž๋ฃŒ๊ฐ€ ์ œ์ผ ๋จผ์ € ๋‚˜์˜ค๋Š” (LIFO, Last in First out) ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 1๋ถ€ํ„ฐ n๊นŒ์ง€..

[๋ฐฑ์ค€] 1406๋ฒˆ ์—๋””ํ„ฐ

์ถœ์ฒ˜ ๋ฌธ์ œ ํ•œ ์ค„๋กœ ๋œ ๊ฐ„๋‹จํ•œ ์—๋””ํ„ฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ํŽธ์ง‘๊ธฐ๋Š” ์˜์–ด ์†Œ๋ฌธ์ž๋งŒ์„ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘๊ธฐ๋กœ, ์ตœ๋Œ€ 600,000๊ธ€์ž๊นŒ์ง€ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ํŽธ์ง‘๊ธฐ์—๋Š” '์ปค์„œ'๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋Š”๋ฐ, ์ปค์„œ๋Š” ๋ฌธ์žฅ์˜ ๋งจ ์•ž(์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์˜ ์™ผ์ชฝ), ๋ฌธ์žฅ์˜ ๋งจ ๋’ค(๋งˆ์ง€๋ง‰ ๋ฌธ์ž์˜ ์˜ค๋ฅธ์ชฝ), ๋˜๋Š” ๋ฌธ์žฅ ์ค‘๊ฐ„ ์ž„์˜์˜ ๊ณณ(๋ชจ๋“  ์—ฐ์†๋œ ๋‘ ๋ฌธ์ž ์‚ฌ์ด)์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ๊ธธ์ด๊ฐ€ L์ธ ๋ฌธ์ž์—ด์ด ํ˜„์žฌ ํŽธ์ง‘๊ธฐ์— ์ž…๋ ฅ๋˜์–ด ์žˆ์œผ๋ฉด, ์ปค์„œ๊ฐ€ ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์€ L+1๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด ํŽธ์ง‘๊ธฐ๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. LDBP $ ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ํ•œ ์นธ ์˜ฎ๊น€ (์ปค์„œ๊ฐ€ ๋ฌธ์žฅ์˜ ๋งจ ์•ž์ด๋ฉด ๋ฌด์‹œ๋จ) ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์˜ฎ๊น€ (์ปค์„œ๊ฐ€ ๋ฌธ์žฅ์˜ ๋งจ ๋’ค์ด๋ฉด ๋ฌด์‹œ๋จ) ์ปค์„œ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์‚ญ์ œํ•จ (์ปค์„œ๊ฐ€ ๋ฌธ์žฅ์˜ ๋งจ ์•ž..

[๋ฐฑ์ค€] 10799 ์‡ ๋ง‰๋Œ€๊ธฐ

์ถœ์ฒ˜ https://www.acmicpc.net/problem/10799 10799๋ฒˆ: ์‡ ๋ง‰๋Œ€๊ธฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ๋ ˆ์ด์ €๋กœ ์ ˆ๋‹จํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํšจ์œจ์ ์ธ ์ž‘์—…์„ ์œ„ํ•ด์„œ ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ์•„๋ž˜์—์„œ ์œ„๋กœ ๊ฒน์ณ ๋†“๊ณ , ๋ ˆ์ด์ €๋ฅผ ์œ„์—์„œ ์ˆ˜์ง์œผ๋กœ ๋ฐœ์‚ฌํ•˜์—ฌ ์‡ ๋ง‰๋Œ€๊ธฐ๋“ค์„ ์ž๋ฅธ๋‹ค. ์‡ ๋ง‰๋Œ€๊ธฐ์™€ ๋ ˆ์ด์ € www.acmicpc.net ๋ฌธ์ œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ๋ ˆ์ด์ €๋กœ ์ ˆ๋‹จํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํšจ์œจ์ ์ธ ์ž‘์—…์„ ์œ„ํ•ด์„œ ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ์•„๋ž˜์—์„œ ์œ„๋กœ ๊ฒน์ณ ๋†“๊ณ , ๋ ˆ์ด์ €๋ฅผ ์œ„์—์„œ ์ˆ˜์ง์œผ๋กœ ๋ฐœ์‚ฌํ•˜์—ฌ ์‡ ๋ง‰๋Œ€๊ธฐ๋“ค์„ ์ž๋ฅธ๋‹ค. ์‡ ๋ง‰๋Œ€๊ธฐ์™€ ๋ ˆ์ด์ €์˜ ๋ฐฐ์น˜๋Š” ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค. ์‡ ๋ง‰๋Œ€๊ธฐ๋Š” ์ž์‹ ๋ณด๋‹ค ๊ธด ์‡ ๋ง‰๋Œ€๊ธฐ ์œ„์—๋งŒ ๋†“์ผ ์ˆ˜ ์žˆ๋‹ค. - ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ๋‹ค๋ฅธ ์‡ ๋ง‰๋Œ€๊ธฐ ์œ„์— ๋†“๋Š” ๊ฒฝ์šฐ ์™„์ „ํžˆ ํฌํ•จ๋˜๋„๋ก ๋†“๋˜, ๋์ ์€ ๊ฒน์น˜์ง€ ์•Š๋„๋ก ๋†“๋Š”๋‹ค. ๊ฐ ์‡ ๋ง‰๋Œ€๊ธฐ๋ฅผ ์ž๋ฅด๋Š” ๋ ˆ์ด์ €๋Š”..

[๋ฐฑ์ค€] 9012๋ฒˆ ๊ด„ํ˜ธ

์ถœ์ฒ˜ https://www.acmicpc.net/problem/9012 9012๋ฒˆ: ๊ด„ํ˜ธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Parenthesis String, PS)์€ ๋‘ ๊ฐœ์˜ ๊ด„ํ˜ธ ๊ธฐํ˜ธ์ธ ‘(’ ์™€ ‘)’ ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ๊ทธ ์ค‘์—์„œ ๊ด„ํ˜ธ์˜ ๋ชจ์–‘์ด ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Valid PS, VPS)์ด๋ผ๊ณ  www.acmicpc.net ๋ฌธ์ œ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Parenthesis String, PS)์€ ๋‘ ๊ฐœ์˜ ๊ด„ํ˜ธ ๊ธฐํ˜ธ์ธ ‘(’ ์™€ ‘)’ ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ๊ทธ ์ค‘์—์„œ ๊ด„ํ˜ธ์˜ ๋ชจ์–‘์ด ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Valid PS, VPS)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํ•œ ์Œ์˜ ๊ด„ํ˜ธ ๊ธฐํ˜ธ๋กœ ๋œ “( )” ๋ฌธ์ž์—ด์€ ๊ธฐ๋ณธ VPS ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋งŒ์ผ x ๊ฐ€ VPS ๋ผ๋ฉด ์ด๊ฒƒ์„ ํ•˜๋‚˜์˜ ๊ด„ํ˜ธ์—..