๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Problem Solving/PROGRAMMERS

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

by DevIseo 2022. 11. 1.

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

 

https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=python3 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

from collections import deque
def solution(s):
    answer = True
    
    # stack ๋งŒ๋“ค๊ธฐ
    stack=deque()
    for i in s:
    	#stack์ด ๋น„์–ด์žˆ๊ณ  i๊ฐ€ ๋‹ซ๋Š” ๊ด„ํ˜ธ์ผ ๋•Œ false
        if i==")" and not stack:
            return False
        
        #stack์˜ ๋งˆ์ง€๋ง‰์ด ์—ฌ๋Š” ๊ด„ํ˜ธ์ด๊ณ  s์—์„œ ๋บ€ i๊ฐ€ ๋‹ซ๋Š” ๊ด„ํ˜ธ์ด๋ฉด ์‚ฌ๋ผ์ง
        elif i == ")" and stack[-1] == "(":
            stack.pop()
        
        #์ด์™ธ์˜ ๊ฒฝ์šฐ ๊ด„ํ˜ธ๋ฅผ ์ถ”๊ฐ€
        else:
            stack.append(i)
    
    #for๋ฌธ์ด ๋๋‚˜๊ณ  stack์ด ๋น„์–ด์žˆ๋‹ค๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ
    if not stack:
        return True
    #๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ
    else:
        return False

    return True

๋Œ“๊ธ€