

count=0
for _ in range(int(input())):
stack = []
word = input()
for i in word:
if stack and i==stack[-1]:
stack.pop()
else:
stack.append(i)
if not stack:
count+=1
print(count)
스택을 이용해서 문제를 풀었다.
처음에는 if len(stack) == 0 으로 썼었는데, if not stack 일 때 성능이 더 빨랐다.
len(stack)==0 은 len 함수를 통해 stack의 길이를 계산한 후 0 인지 아닌지를 판별하지만,
not stack은 파이썬의 truthy / falsy 특성을 이용해 스택이 비어있으면 false를 반환하여 살짝 더 빠르다.
하지만 반복문에서 엄청 많이 돈다고 가정하면 성능 차이가 많이 날 수 있으므로,
저 방법을 쓰는게 더 나을 것 같다는 생각이 들었다.
내일의 알고리즘 문제를 풀어보고 이해하기
#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL