알고리즘 테스트/백준 문제풀이 및 해설

<백준 문제풀이: 1316번> 파이썬 - 그룹 단어 체커

개발린이 2020. 12. 1. 17:39

1주일동안 못 풀었던 문제이다. 다시 새로보고 풀었다.

import sys

N = int(sys.stdin.readline())

def group_check(word):
    for i in range(len(word)-2):
        for j in range(i+2, len(word)):
            if word[i] == word[j] and word[i] != word[i+1]:
                return False
    return True

count = 0
for i in range(N):
    word= str(sys.stdin.readline().strip())
    if group_check(word):
        count += 1
print(count)


우선 group_check 라는 함수를 만들어준다. 이 함수는 만약 하나 건너 뛴 단어가 현재의 단어랑 같음과 동시에 현재의 단어와 바로 다음의 단어가 같지 않다면 False, 이 체크를 통과하면 True를 반환하는 함수이다. 따라서 이를 각 단어에 대해 체크해주고 만약 True라면 count를 하나 더하게 한 후 이를 마지막에 출력하게 한다.