[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/python] 2017 ํŒ์Šคํƒ€์šด : ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ

2021. 6. 29. 20:04

๋ฌธ์ œ ์„ค๋ช…

์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ๋Š”, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฌธ์ž์—ด์—์„œ ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์ด 2๊ฐœ ๋ถ™์–ด ์žˆ๋Š” ์ง์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ, ๊ทธ ๋‘˜์„ ์ œ๊ฑฐํ•œ ๋’ค, ์•ž๋’ค๋กœ ๋ฌธ์ž์—ด์„ ์ด์–ด ๋ถ™์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์„œ ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค๋ฉด ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด 1์„, ์•„๋‹ ๊ฒฝ์šฐ 0์„ ๋ฆฌํ„ดํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌธ์ž์—ด S = baabaa ๋ผ๋ฉด

b aa baa → bb aa → aa 

์˜ ์ˆœ์„œ๋กœ ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

์ œํ•œ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด : 1,000,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฌธ์ž์—ด์€ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ •๋‹ต

def solution(s):

    stack = [s[0]]
    for i in s[1:]:
        if stack and i == stack[-1]:
            stack.pop()
        else:
            stack.append(i)
    
    if stack:
        return 0
    else:
        return 1

์ „์— ํ’€์—ˆ๋˜ ๋ฌธ์ œ ์ค‘ ๊ด„ํ˜ธ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์™€ ํ’€์ด ๋ฐฉ๋ฒ•์ด ์œ ์‚ฌํ•˜๋‹ค.

2021.03.30 - [๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€] - [๋ฐฑ์ค€/python] 9012๋ฒˆ : ๊ด„ํ˜ธ

 

[๋ฐฑ์ค€/python] 9012๋ฒˆ : ๊ด„ํ˜ธ

๋ฌธ์ œ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Parenthesis String, PS)์€ ๋‘ ๊ฐœ์˜ ๊ด„ํ˜ธ ๊ธฐํ˜ธ์ธ ‘(’ ์™€ ‘)’ ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ๊ทธ ์ค‘์—์„œ ๊ด„ํ˜ธ์˜ ๋ชจ์–‘์ด ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด(Valid PS, VPS)

ye333.tistory.com

 

728x90

BELATED ARTICLES

more