[ 2023-05-31 ๐Ÿฅฉ TIL ]

Burkeyยท2023๋…„ 5์›” 31์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
90/157

๋ฐฑ์ค€ 10773, 3986๋ฒˆ


<3986 ๋ฌธ์ œ>

import sys

input = sys.stdin.readline

n = int(input())
count = 0
for _ in range(n):
    s = list(input().strip())
    stack = [s[0]] 
    leng_r = len(s)
    if (leng_r % 2) == 0: # ํ™€์ˆ˜ ๊ฐฏ์ˆ˜์ธ ๊ฒƒ์€ ๋ฌด์กฐ๊ฑด ์ง์„ ์ด๋ฃจ์ง€ ๋ชปํ•œ๋‹ค.
        for i in range(1, leng_r):
            if stack and s[i] == stack[-1]:
                # ๋งจ ์•ž์˜ ๊ฐ’๊ณผ ๋งจ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์ง์„ ์ด๋ฃจ๋ฉด ์‚ญ์ œ
                stack.pop() 
            else:
            	# ๋งจ ์•ž์˜ ๊ฐ’๊ณผ ๋งจ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์ง์„ ์ด๋ฃจ์ง€ ์•Š์œผ๋ฉด ๋„ฃ๋Š”๋‹ค.
                stack.append(s[i])
    if len(stack) == 0:
        count += 1
print(count)

<10773๋ฒˆ>

import sys

input = sys.stdin.readline

k = int(input())
arr = []
result = 0

for _ in range(k):
    n = int(input())
    if n == 0:
        val = arr.pop() # ์ ค ๋งˆ์ง€๋ง‰์œผ๋กœ ๋“ค์–ด๊ฐ„ ๊ฐ’์„ ์ง€์›€
        result -= val # ๊ทธ ๊ฐ’์„ ๊ฒฐ๊ณผ๊ฐ’์—์„œ ๋นผ์ค€๋‹ค.
    else:
        arr.append(n) 
        result += n

print(result)

๋‘ ๋ฌธ์ œ ๋ชจ๋‘ stack์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€