๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ’ก/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ (ํŒŒ์ด์ฌ)

by @ENFJ 2024. 10. 20.

์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ -- ์Šคํƒ/ํ ๊ด€๋ จ ๋ฌธ์ œ.

https://school.programmers.co.kr/learn/courses/30/lessons/12909

 

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

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

programmers.co.kr

 

 

(  ์ผ๋•Œ +1 ๋กœ balance ๋ผ๋Š” ๋ณ€์ˆ˜์— ๋„ฃ๊ณ  

) ์ผ๋•Œ -1 ์„ balance ๋ณ€์ˆ˜์— ๋„ฃ์–ด์คŒ์œผ๋กœ์จ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ผ๋•Œ 0์ด๊ธฐ๋•Œ๋ฌธ์— 

 

0๋ณด๋‹ค ์ž‘์„ ์‹œ false ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

 

def solution(s):
    balance = 0 #์—ด๋ฆฐ ๊ด„ํ˜ธ์™€ ๋‹ซํžŒ ๊ด„ํ˜ธ์˜ ๊ท ํ˜•์„ ๋‚˜ํƒ€๋‚ด๋Š” ์นด์šดํ„ฐ
    
    for char in s:
        if char == '(':
            balance += 1
        elif char == ')':
            balance -= 1
        
        if balance < 0 :
            return False;
        
       # ๋ชจ๋“  ๊ด„ํ˜ธ๋ฅผ ๊ฒ€์‚ฌํ•œ ํ›„ balance๊ฐ€ 0์ด์–ด์•ผ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด
    return balance == 0