문제링크
https://www.acmicpc.net/problem/3986
코드
n=int(input())
sum1=0
for i in range(n):
x=list(input())
a=['one']
for i in (x):
if i!=a[len(a)-1]:
a.append(i)
else:
a.pop(len(a)-1)
if len(a)==1:
sum1+=1
print(sum1)
문제푼과정
스택을 이용하면 매우 쉽게 풀리는 문제인데 단어를 어떻게 짝짓는지 고민하다가 시간을 많이 들였다.
이런 식으로 직접 예제를 표현해보았더니 직전에 들어간 문자가 아니면 빼지못하게 하고 나중에 리스트에 A나 B가 남아있으면 좋은 단어가 완성되지 못한다는 것을 알게되었다. 따라서 스택을 적용하여 리스트에 임의로 요소 하나를 넣어놓고 직전 요소와 같지않다면 append하고 같다면pop해서 최종적인 결과를 print하였다.
'Koala - 5기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준|13732] Falling apples (2) | 2022.02.05 |
---|---|
[백준/c++] 5218번 알파벳 거리 (2) | 2022.02.04 |
[백준/python] 15813번:너의 이름은 몇 점이니? (0) | 2022.01.30 |
[백준/python] 9226:도깨비말 (0) | 2022.01.30 |
[백준/python] 15813번 너의 이름은 몇 점이니? (0) | 2022.01.30 |