๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’๊ณต๋ถ€/์•Œ๊ณ ๋ฆฌ์ฆ˜

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

by rindev 2020. 11. 30.

 

programmers.co.kr/learn/courses/30/lessons/12909

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ

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

programmers.co.kr

 

์ฒ˜์Œ์—๋Š” 

1. ๋งจ ์ฒ˜์Œ์— ) ๊ฐ€ ๋‚˜์˜จ ๊ฒฝ์šฐ ->False
2. (์™€ )์˜ ์ง์ด ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ -> False

๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ํ‹€๋ ค์„œ ์งˆ๋ฌธํ•˜๊ธฐ๋ฅผ ๋ณด๋‹ˆ๊นŒ ์ด๋Ÿฐ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค

( ) ) ) ( ( ( )

์Œ์˜ ๊ฐฏ์ˆ˜๋„ ๋งž๊ณ , ๋งจ ์ฒ˜์Œ๋„ (๋กœ ์‹œ์ž‘ํ•œ๋‹ค..!

๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•œ ๊ฒƒ์€ ์—ด๋ฆผ๊ด„ํ˜ธ( ์—†์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋‹ซ์€ ๊ฒฝ์šฐ๋Š” false๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  chk๋ฅผ ํ™•์ธํ–ˆ๋‹ค.

 

(๊ฐ€ ๋‚˜์˜ค๋ฉด -1์„ ํ•˜๊ณ 

)๊ฐ€ ๋‚˜์˜ค๋ฉด +1์„ ํ•œ๋‹ค

 

(๊ฐ€ ์ค‘๋ณตํ•ด์„œ ๊ณ„์† ๋‚˜์˜ค๋Š” ๊ฒƒ์€ ๋’ค์— ๋‹ซํž ์ˆ˜ ๋„ ์žˆ์œผ๋ฏ€๋กœ ๊ณ„์† ํ™•์ธํ•œ๋‹ค.

=์Œ์ˆ˜๋กœ ๊ณ„์† ๋‚ด๋ ค๊ฐ€๋„ ๊ดœ์ฐฎ์Œ

=๋งŒ์•ฝ ๋๊นŒ์ง€ )๊ฐ€ ๋‚˜์˜ค์ง€์•Š์•„์„œ chk๊ฐ€ ์Œ์ˆ˜์ด๋ฉด false๋ฅผ ๋ฆฌํ„ด

 

ํ•˜์ง€๋งŒ )๊ฐ€ ๊ณ„์† ์ค‘๋ณตํ•ด์„œ ๋‚˜์˜ค๋ฉด ์ง์ด์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— false

๋ง๋กœ์“ฐ์ž๋‹ˆ ์–ด๋ ค์šฐ๋‹ˆ ์œ„์— ๊ทธ๋ฆผ์„ ๋ณด์ž..

 

 

๐Ÿƒ‍โ™€๏ธ์ž‘์„ฑํ•œ ์ฝ”๋“œ

๋”๋ณด๊ธฐ
def solution(input_s):
    answer = True
    
    if input_s[0] == ')':
        return False
    
    chk = 0
    for s in input_s:
        if chk <= 0:
            if s == ')': # )๊ฐ€ ๋‚˜์˜ค๋ฉด +1
                chk += 1
            else: # (๊ฐ€ ๋‚˜์˜ค๋ฉด -1
                chk -= 1
    
    if chk != 0:
        return False
    else:
        return True

 

 

๋Œ“๊ธ€