๐ ๋ฐฑ์ค 3986 - ์ข์ ๋จ์ด
๋ฌธ์ : ๋ฐฑ์ค 3986 - ์ข์ ๋จ์ด
๐ก ๋์ ํ์ด
์ด๋ค ๋ฐฉ์์ผ๋ก ํ์ด์ผ ํ ์ง ๊ณ ๋ฏผํ๋ค stack
์ผ๋ก ํ์๋๋ฐ ์ ๋ตํ์ ์ ๋ฐ์๋ค. ๋ฌธ์ ์์ ์์นํ ๊ณก์ ์ผ๋ก ๋ง๋์ผ ํ๋ค๊ณ ๋์์๋๋ฐ ๊ดํธ ์
๋ง์ถ๋ ๋ฌธ์ ์ฒ๋ผ stack
์ ๋ค์ด์ค๋ ํ์ฌ ๊ฐ๊ณผ ์ด์ ์ ์๋ stack[-1]
๊ณผ ๋น๊ตํด์ ๊ฐ์ผ๋ฉด pop()
๋ค๋ฅด๋ฉด s[i]๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ฉด ๋๋ค.
๋งจ ์ฒ์ stack
์ด ์์ ๋ ๊ฐ์ ์ด๋ป๊ฒ ๋ฃ์ง??๋ผ๊ณ ์๊ฐํ๋ค stack
์ ๊ฐ์ด ์์ ๋, ์์ ๋๋ก ๋๋ ์ ์กฐ๊ฑด์ ์์ฑํ๋ค. ์ฌ๊ธฐ์ ๋์์ฝ๋์ ๋ค๋ฅธ ์ฌ๋ ์ฝ๋์ ์ฐจ์ด์ ์ 13 ~ 19๋ฒ
์ธ๋ฐ, stack
์กฐ๊ฑด์ and
๋ก ํฉ์น๊ณ ์๋ ๊ฒฝ์ฐ์๋ append
๋ฅผ ์ค๋ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์๊ธธ๋ ๊ฐ์ ธ์๋ค. ๋ค์ ์ฌ์ง์ ์์ ์
๋ ฅ 1์ ์์ผ๋ก ๊ทธ๋ฆฌ๋ฉด์ ํผ ์ฌ์ง์ด๋ค. (๊ธ์จ์ฃผ์)
# ๋์ ์ฝ๋
import sys
input = sys.stdin.readline
n = int(input())
cnt = 0
for _ in range(n):
s = input().rstrip()
stack = []
for i in range(len(s)):
if stack:
if s[i] == stack[-1]:
stack.pop()
else:
stack.append(s[i])
else:
stack.append(s[i])
if not stack:
cnt += 1
print(cnt)
# ๋ค๋ฅธ ์ฌ๋ ์ฝ๋
import sys
input = sys.stdin.readline
n = int(input())
cnt = 0
for _ in range(n):
s = input().rstrip()
stack = []
for i in range(len(s)):
if stack and s[i] == stack[-1]:
stack.pop()
else:
stack.append(s[i])
if not stack:
cnt += 1
print(cnt)
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2493 - ํ (0) | 2021.07.09 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2504 - ๊ดํธ์ ๊ฐ (2) | 2021.07.07 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 4949 - ๊ท ํ์กํ ์ธ์ (0) | 2021.07.05 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10799 - ์ ๋ง๋๊ธฐ (0) | 2021.07.05 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 12789 - ๋ํค๋ํค ๊ฐ์๋๋ฆฌ๋ฏธ (0) | 2021.06.30 |
๋๊ธ