【白俊】1316号:組合せ語Checker(Python)



質問する



私の答え

n=int(input())
li=[input() for i in range(n)]
c=n
for w in li: #입력받은 각 문자열을 분리
    for j in range(len(w)-1):
        if w[j]!=w[j+1]: #앞 뒤 알파벳이 다르면
            if w[j] in w[j+1:]: #앞의 알파벳이 그 다음에 존재하는지(문자열 끝까지)
                c-=1#있다면 연속되게 나온것이 아니므로, 즉 그룹 단어가 아니므로 제외
                break #해당 단어에 대해 검사 종료
print(c)
  • 単語の個数を入力し、対応する文字列(li)
  • を受け入れます.
  • 組の単語個数を数える変数cは、単語数に基づいて初期化される.すべての単語が組合せ語であると仮定すると、非組合せ語は除外され、0以外の単語数に初期化されます.
  • 1に入力された複数の文字列を分離します.
  • は、配列のインデックスが使用されるため、長さから-1を減算する文字の長さに従って繰り返し文を実行します.
  • 前文字と後文字が異なる場合(if w[j]!=w[j+1]:)、条件文で前文字が後に存在するかどうかを確認します.( if w[j] in w[j+1:]: )
  • が存在する場合、連続ではないので、組合せ語ではありません.したがって,−1を削除し,その単語をチェックする必要がなくなるのでbreakで終了する.
  • すべての単語
  • をチェックし、個数を出力します.