매일 BOJ

(매일 BOJ) Python 1316번 그룹 단어 체커

norepinephrine 2025. 3. 21. 18:49

📝 문제 설명 요약:

  • 어떤 단어에서 같은 알파벳이 떨어져서 나오면 안 됨.
    • 예: aabbbcc → O
    • 예: aba → X (a가 끊겼다가 다시 나옴)
  • 이런 단어를 "그룹 단어"라고 부름
  • N개의 단어 중 그룹 단어의 개수를 세는 문제

 

💡 풀이 아이디어

  • 문자열을 한 글자씩 확인하면서,
  • 이전에 본 알파벳이 다시 나타났는데, 바로 전 글자와 다르면 → 그룹 단어 X
 
N = int(input())
result = []
set_result = []
num = 0

for i in range(N):
    text = list(input())
    if len(text) == 1:
        result.append(text[0])
    for o in range (len(text)-1):
       
        if o == 0:
            if text[o] != text[o+1]:
                result.append(text[o])
                result.append(text[o+1])
            elif text[o] == text[o+1]:
                result.append(text[o+1])
        else:
            if text[o] != text[o+1]:
                result.append(text[o+1])

    result.sort()
    set_result = list(set(text))
    set_result.sort()

    if result == set_result:
        num += 1
        result = []
    else:
        result = []

print(num)