vywlgns1   1년 전

if A[x]!=A[x+1]:

new=A[x+1:]

if A[x] in new:

error=1

else:

error=0

여기서 else: 부분이 잘못된거 같은데 어떻게 해야될지 모르겠어서 질문드립니다 ㅠㅠ

niceotter   1년 전

13번째 줄의 A[x] in new가 참임을 알았다면 다시 돌아가 for문을 반복할 이유가 없습니다.

A='abaccdd' 의 경우 A[0] in A[1:]이라서 그룹단어가 아니지만 이 코드에서는 x가 len(A)-2일 때까지 반복되어 A[5]==A[6]이므로 그룹단어로 판정합니다.

반복문 탈출에 대해 알아보세요.

또, 'aba' 가 들어와 error가 1인 상태에서 'abcd'가 들어오면 모든 x에서 A[x]!=A[x+1]이지만 A[x] in new는 아니라서 error 변수에는 변화가 없습니다.

본래 'abcd'에 대해서는 error가 0이어야 합니다.

변수를 초기화시켜주세요.

초기화시킬 코드는 어디 있어야 할지 생각해보세요.

댓글을 작성하려면 로그인해야 합니다.