[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค-Lv2] ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ / Python

๐Ÿ“š Problem Solving/Programmers

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ

์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ๋Š”, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฌธ์ž์—ด์—์„œ ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์ด 2๊ฐœ ๋ถ™์–ด ์žˆ๋Š” ์ง์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ, ๊ทธ ๋‘˜์„ ์ œ๊ฑฐํ•œ ๋’ค, ์•ž๋’ค๋กœ ๋ฌธ์ž์—ด์„ ์ด์–ด ๋ถ™

programmers.co.kr

import sys

input = sys.stdin.readline

s = input().rstrip()


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


print(solution(s))

 

ํ•ด์„ค

์Šคํƒ์„ ์ด์šฉํ•ด ํ’€ ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ. ์Šคํƒ์— ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ์—†๋‹ค๋ฉด ์Šคํƒ์— ๋„ฃ๊ณ , ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•œ๋‹ค๋ฉด ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‘ ๊ฐœ์”ฉ ์ง์ง€์–ด์ง„ ๋ฌธ์ž์กฐํ•ฉ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.