백준 1316 그룹 단어 체커 set(Python)

Dreamer_01·2021년 1월 18일
0

알고리즘 풀이

목록 보기
30/34

문제링크:https://www.acmicpc.net/problem/1316

이번 문제는 이번 단게별 문제에서 말고 우연히 한번 접해보았는데, 잘 되지 않았었다.

이번에는 set함수가 반복되는 것을 자동으로 제거해준다는 특성을 떠올려 그것을 응용해 만들었다.

n = int(input())
group_words = 0
for i in range(n):
    t = input()
    c = 0
    s = set()
    for j in range(len(t)):
        if t[j] in s:
            if t[j-1] != t[j]:
                c = 1
                break
        else:
            s.add(t[j])
    if c != 1:
        group_words += 1
print(group_words)

<생각 순서>
1. 내가 입력한 문장의 철자가 하나씩 set에 들어가게 된다.
2. 그 과정에서, 이미 그 문자가 set에 들어있다고 판단이 가게 되면, 그 문자가 바로 이전 위치에 있는지 판단한다.
3. 바로 이전에 위치해 있지 않는데, 이미 set에 들어가 있다면, 이것은 연속되어야하는 그룹단어의 조건에 맞지 않는다.

0개의 댓글

관련 채용 정보