SMALL
문제 출처
풀이 코드 (시간초과가 나고 효율성에서 통과 못함)
def solution(s):
words=['qq','ww','ee','rr','tt','yy','uu','ii','oo','pp','aa','ss','dd','ff','gg','hh','jj','kk','ll',
'zz','xx','cc','vv','bb','nn','mm']
while True:
for word in words:
s=s.replace(word,'')
if len(s)==0:
return 1
a=0
for word in words:
if word not in s:
a +=1
if a == 26:
return 0
효율성 통과하려면 다른 방식으로 접근해야함
자료 구조 중에 넣었다 뺐다 하는 스택으로 접근하기로 결정!
풀이 코드 (정답)
def solution(s):
stack=[]
for i in range(len(s)):
if len(stack)==0:
stack.append(s[i])
else:
if stack[-1]==s[i]:
stack.pop()
else:
stack.append(s[i])
if len(stack)==0:
return 1
else:
return 0
LIST