์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Python

๋ฐฑ์ค€ (boj) 4949 ํŒŒ์ด์ฌ - ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ

  • -

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/4949

 

4949๋ฒˆ: ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ

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

www.acmicpc.net

 

 

์Šคํƒ์œผ๋กœ ํ’€๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. (๊ฐ€์žฅ ๋‚˜์ค‘์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ, ๊ฐ€์žฅ ๋จผ์ € ์‚ญ์ œํ•˜๋Š” ๋ฐฉ์‹)

"( [ [ [ ( " ์ด๋Ÿฌํ•œ ๊ด„ํ˜ธ๊ฐ€ ๋“ค์–ด์™”๋‹ค๋ฉด , ์ œ์ผ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๊ด„ํ˜ธ์ˆœ์„œ๋Œ€๋กœ ์†Œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋”ฉ์„ ํ•˜๋ฉด ๋œ๋‹ค.

import sys
input = sys.stdin.readline

while(True):
    arr =  []
    string = input().rstrip()
    if string == '.' : break
    else: 
        for i in string :
            #์—ฌ๋Š” ๊ด„ํ˜ธ๋ฅผ arr์— ์ถ”๊ฐ€
            if i == '[' : arr.append('[')
            elif i == '(' : arr.append('(')
            
            #๋‹ซ๋Š”๊ด„ํ˜ธ๊ฐ€ arr์˜ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธ
            elif i == ']' :
                if len(arr)==0 : arr.append("no!");break
                elif arr[-1] == '[' : arr.pop()
                else : break
            elif i == ')' : 
                if len(arr)==0 : arr.append("no!");break
                elif arr[-1] == '(' : arr.pop()
                else :  break
    #์ถœ๋ ฅ๋ถ€๋ถ„
    if len(arr)==0: print('yes')
    else : print('no')

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.