๐กsolutions )
๐ฌ ์ฒ์ ์์ฑํ๋ ์ฝ๋์์ ์ฌ๋ผ์ด์ฑ์ผ๋ก ๋ฌธ์์ด์ ์ ๋ฐ์ดํธ ํ๋๋ฐ ์๊ฐ์ด๊ณผ ๋์ ํต๊ณผํ์ง ๋ชปํ๋ค.
๐ฌ ๋ค์์ผ๋ก ๊ตฌํํ ์ฝ๋๋ stack์ ๋ง๋ค์ด์ ๋ฌธ์๋ฅผ ํ๋์ฉ append()๋ก ๋ฃ์ด์ฃผ๊ณ ์ง์ ๋ง๋ ๊ฒฝ์ฐ์๋ pop()์ผ๋ก ์ ๊ฑฐํด์ฃผ์๋ค.
๐ฌ ๋ง์ง๋ง ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ฌ๊ณ 0์ด๋ฉด 1๋ฆฌํด, 0์ด ์๋๋ฉด 0์ ๋ฆฌํดํ๋ค.
๐ซcode )
๐ถ ํจ์จ์ฑ ํ ์คํธ์์ ์๊ฐ ์ด๊ณผ๋ก ํต๊ณผํ์ง ๋ชปํ ์ฝ๋
# ์๊ฐ ์ด๊ณผ ์ฝ๋
def solution(s):
if len(s) % 2 == 1:
return 0
idx = 0
while True:
if len(s) == 0:
return 1
if idx > len(s) - 2:
return 0
if s[idx] == s[idx + 1]:
if idx == 0:
s = s[idx + 2:]
else:
s = s[:idx] + s[idx + 2:]
idx = 0
else:
idx += 1
๐ถ ์๋ก ์์ฑํ ์ฑ์ ํต๊ณผํ ์ฝ๋
def solution(s):
if len(s) % 2 == 1:
return 0
stack = []
for i in s:
if len(stack) == 0:
stack.append(i)
elif i == stack[-1]:
stack.pop()
else:
stack.append(i)
if len(stack) == 0:
return 1
else:
return 0
๐ description )
๋ฌธ์ ์ถ์ฒ : programmers.co.kr/learn/courses/30/lessons/12973?language=python3
๋ฌธ์ ์ค๋ช ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋, ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ์์ํฉ๋๋ค. ๋จผ์ ๋ฌธ์์ด์์ ๊ฐ์ ์ํ๋ฒณ์ด 2๊ฐ ๋ถ์ด ์๋ ์ง์ ์ฐพ์ต๋๋ค. ๊ทธ๋ค์, ๊ทธ ๋์ ์ ๊ฑฐํ ๋ค, ์๋ค๋ก ๋ฌธ์์ด์ ์ด์ด ๋ถ์ ๋๋ค. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํด์ ๋ฌธ์์ด์ ๋ชจ๋ ์ ๊ฑฐํ๋ค๋ฉด ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๊ฐ ์ข ๋ฃ๋ฉ๋๋ค. ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์๋์ง ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์์ผ๋ฉด 1์, ์๋ ๊ฒฝ์ฐ 0์ ๋ฆฌํดํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์์ด S = baabaa ๋ผ๋ฉด b aa baa → bb aa → aa →์ ์์๋ก ๋ฌธ์์ด์ ๋ชจ๋ ์ ๊ฑฐํ ์ ์์ผ๋ฏ๋ก 1์ ๋ฐํํฉ๋๋ค. ์ ํ์ฌํญ
|