=> 시간 초과
# S = baabaa 라면
# b aa baa → bb aa → aa → '' => 1
# S = "baabaa"
S = "cdcd"
# S = cdcd => 더 이상 못 없애 => 0
def solution(s):
answer = -1
while True:
if len(s) == 0:
return 1
for i in range(len(s)-1):
# input()
# print("i = ", i)
# print("s[i] = ", s[i], " s[i+1] = ", s[i+1])
if s[i] == s[i+1]:
s = s[:i] + s[i+2:]
print(s)
break
# print("len(s)-2 = ", len(s)-2)
if i == len(s)-2:
return 0
print(solution(S))
# S = baabaa 라면
# b aa baa → bb aa → aa → '' => 1
from collections import deque
# S = "baabaa"
S = "cdcd"
# S = cdcd => 더 이상 못 없애 => 0
def solution(s):
answer = -1
L = []
L.append(s[0])
for i in range(1, len(s)):
# print("i = ", i)
# print("L = ", L)
# print("L[-1] = ", L[-1], " s[i] = ", s[i])
if not L:
L.append(s[i])
continue
if L[-1] != s[i]:
L.append(s[i])
continue
else:
L.pop()
if L:
return 0
else:
return 1
print(solution(S))
s를 순회하면서 원소 하나씩 차례대로 L 에다가 넣어준다.
=> 모든 s를 돌았을 때 L에 어떤 원소라도 있으면 0 리턴
=> 모든 s를 돌았는데 L이 비어있으면 1 리턴
s[i] 즉, 넣으려고 하는 원소랑 현재 L 안에 있는 젤 마지막 원소, 즉 [-1]의 원소랑 비교해서 같으면 L에서 pop 해주고 다르면 append 해준다.