๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Developer/๐ŸŸ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/python] ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ

๋ฌธ์ œ ์„ค๋ช…

๊ด„ํ˜ธ๊ฐ€ ๋ฐ”๋ฅด๊ฒŒ ์ง์ง€์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์€ '(' ๋ฌธ์ž๋กœ ์—ด๋ ธ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ง์ง€์–ด์„œ ')' ๋ฌธ์ž๋กœ ๋‹ซํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด

  • ()() ๋˜๋Š” (())() ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค.
  • )()( ๋˜๋Š” (()( ๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค.

'(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฌธ์ž์—ด s๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ด๋ฉด true๋ฅผ return ํ•˜๊ณ , ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ด๋ฉด false๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

 

 


ํ’€์ด

์ฒ˜์Œ์— ํ’€์—ˆ์„๋•Œ ์ •ํ™•์„ฑ ํ…Œ์ŠคํŠธ๋Š” ๋ชจ๋‘ ํ†ต๊ณผํ–ˆ์ง€๋งŒ

 

ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

 

ํšจ์œจ์„ฑ์ด ๊ฐ€์žฅ ์ข‹๊ฒŒ ํ•˜๋ ค๋ฉด ์ˆ˜ํ–‰์‹œ๊ฐ„์„ ๋ฌธ์ž์—ด s๊ธธ์ด ๋งŒํผ for๋ฌธ์„ ๋Œ๋ฆฐ ๊ฒƒ์ด ๊ฐ€์žฅ ์ตœ์†Œ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

def solution(s):
    stack = ''
    
    for i in s:
        stack += i
        if stack[-2:] == '()':
            stack = stack[:-2]
            
    if len(stack) == 0 : return True
    else : return False