비슷한 단어 2607 - 실버 3 (백준, 문자열)

2023. 1. 20. 10:55코딩 테스트 준비

728x90
반응형
import sys

input = sys.stdin.readline
stack = []
ans = 0

for _ in range(int(input())):
  word = list(input())
  word = word[:-1]
  word.sort()
  if len(stack) == 0:
    stack.append(word)
  elif stack[-1] != word:
    temp = []
    for i in stack[-1]:
      if i in word:
        word.remove(i)
      else:
        temp.append(i)
    a = len(word)
    b = len(temp)
    if (a == 0 and b == 0) or (a==1 and b==0) or (b==1 and a == 0) or (a==1 and b==1): 
      ans +=1
  else:
    ans += 1    
print(ans)

 

elif 부분에서 막혔는데 처음에는 word에서 remove한 len 값이 2이하면 정답 처리를 했는데 세세하게 문제의 요건에 맞는 if문을 적용시켜줘야 정답으로 처리가 됐다. 다른 값과 남는 값의 차이를 생각해줘야 했는데 마무리가 아쉬웠다. 잊지말자 푼 문제를!

728x90
반응형