[伯俊]#1316-組合せ語Checker(Python,Python)


コンビネーションチェッカー


https://www.acmicpc.net/problem/1316

私が書いたコード

n = int(input())

ans = 0
for _ in range(n):
    word = input()

    group = 1
    pos = 0
    alphabets = set()

    while pos < len(word):
        if word[pos] in alphabets:
            group = 0
            break

        alphabets.add(word[pos])

        now = word[pos]
        while pos < len(word) and word[pos] == now:
            pos += 1

    ans += group

print(ans)

コードの変更


これは私がネットで見つけたコードで、もっと簡潔で分かりやすいコードだと思います.
ansをnと指定し,組合せ語でない場合は1ずつ減算する.
n = int(input())

ans = n
for _ in range(n):
    word = input()

    for i in range(len(word) - 1):
        if word[i] == word[i + 1]:
            continue

        if word[i] in word[i + 1:]:
            ans -= 1
            break

print(ans)