🗂️ 문제
링크: https://www.acmicpc.net/problem/3986
3986번: 좋은 단어
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에
www.acmicpc.net
💡 접근법
단어의 알파벳 하나하나를 스택의 마지막 요소와 비교한다.
이때 같을 경우 스택의 마지막 요소를 pop하고, 같지 않을 경우 알파벳을 스택에 append한다.
알파벳을 모두 순회하고 결과적으로 스택이 비어있다면 좋은 단어로 판단할 수 있다.
😎 내 코드
import sys
N = int(sys.stdin.readline())
words = []
for _ in range(N):
words.append(sys.stdin.readline().rstrip())
cnt = 0
for word in words:
stack = []
for w in word:
if stack and stack[-1] == w:
stack.pop()
else:
stack.append(w)
if not stack:
cnt += 1
print(cnt)
✅ 정답 확인
'Algorithm > Baekjoon' 카테고리의 다른 글
[DP] 백준 #24416 알고리즘 수업 - 피보나치 수 1 - Python (0) | 2024.04.03 |
---|---|
[완전탐색] 백준 #2529 부등호 - Python (1) | 2024.03.23 |
[정렬] 백준 #1141 접두사 - Python (0) | 2024.03.16 |
[힙] 백준 #2696 중앙값 구하기 - Python (2) | 2024.03.13 |
[힙] 백준 #1655 가운데를 말해요 - Python (0) | 2024.03.12 |