반응형
1. 문제 소개
- 스택, 자료구조 문제에 해당한다.
2. 코드
# idea
# - 선끼리 교차하지 않는다 -> 인접하는 대칭 단어가 짝을 이루고, 짝을 이룬 단어들 바깥의 단어들은 같은 거리로 짝을 이룬다.
# - 정확히 다른 위치의 글자와 짝을 이룬다 -> 홀수 X
# algorithm
# - stack 에 word character 를 하나씩 push
# - 이전 character 가 동일한 단어는 pop()
# - stack 의 크기가 0 인 경우는 good word 로 판단
def input_test_case():
N = int(input())
words = []
for i in range(0,N):
words += [input()]
return words
def check_good_word(word):
stack = []
pre_char_idx = -1
for c in word :
if pre_char_idx >=0 and stack[pre_char_idx] == c :
stack.pop()
pre_char_idx -=1
else:
stack.append(c)
pre_char_idx+=1
return True if len(stack) == 0 else False
def solution():
words = input_test_case()
count = 0
for w in words:
if check_good_word(w):
count+=1
print(count)
solution()
3. 코멘트
- 참고로 예제 3번의 입력 예제는 아래 처럼 교차하지 않도록 짝을 이룬다.
- 육아로 한 동안 스터디를 진행하지 못하다가, 오랜만에 했는데 즐겁고 뿌듯했다.
- 오랜 기간 함께 스터디에 참여해주셨던, 찬의님이 취업해서 너무 기쁘다. ( 대기업으로 가셨다 !! )
- 찬의님과 함께 오래 함께한 유진님께서 사고로 중환자실에 입원하셨는데, 다행이 수술은 잘 진행됐다고 했다. 빨리 나으셔서 밝은 모습으로 뵙길 기도한다.
반응형
'Algorithm' 카테고리의 다른 글
Baekjoon 백준 알고리즘 - 이친수( 2193 ) (0) | 2023.02.18 |
---|---|
Baekjoon 백준 알고리즘 - 숫자 카드2 ( 10816 ) (0) | 2022.12.06 |
Baekjoon 백준 알고리즘 - 시간 관리 ( 1263 ) (0) | 2022.05.15 |
Baekjoon 백준 알고리즘 - 삼각형 만들기 (0) | 2022.05.01 |
Baekjoon 백준 알고리즘 - 보물 ( 1026 ) (0) | 2022.05.01 |