코딩테스트 파이썬/백준

그룹 단어 체커

세용용용용 2024. 12. 6. 12:44

1316번: 그룹 단어 체커

 

나의 풀이

import sys
n = int(sys.stdin.readline())

def _group_checking(n_str):
    answer = 1
    ck_set = set()
    for i in range(len(n_str)):
        if (n_str[i] in ck_set) and (n_str[i-1] != n_str[i]):
            answer = 0
            break
        ck_set.add(n_str[i])
    return answer

result = 0
for _ in range(n):
    n_str = sys.stdin.readline().rstrip()
    result += _group_checking(n_str)
print(result)

 

시간 복잡도

for _ in range(n) : n수 많큼 단어의 그룹을 체크 해야됨 ( 선형 시간 복잡도 )
    _group_checking() : 단어 그룹 체크하는 함수 ( 선형 시간 복잡도 )
해당 알고리즘 시간 복잡도 : 이차형 시간 복잡도 ( O(n**2) )