ehdgur0822   8년 전

DFA의 개념을 써서 풀어봤습니다.

계속 틀렸다고 나오는데.

틀린 예시를 못찾겠습니다.

고수분들 부탁드려요.

소스는 다음과 같고

s는 state를 나타내구요 o,1이 스트링에 나오는 문자입니다.

상태표가 아래와 같은데 시작점이 스트링의 처음이 1이면 s0이고 0이면 s1부터 시작되게끔 하였습니다.

마침이 되도 괜찮은 상태는 s3,s4,s5입니다.

이렇게 만들면 걸리는 경우가 101 이런 경우라서

이런 경우를 처리하기 위해 flag를 두어서 처리하였습니다.

s4가 s1으로 갈 때는 문제가 없기에 flag를 지워주었고

s0에서 s1으로 갈때 flag로 표시를 해주었고

s5에서 s0로 갈때 flag를 표시해주었습니다.

안되는 예시를 들어주시면 감사하겠습니다.

01
s0s1error
s1s2s5
s2s2s3
s3s6s4
s4s1s4
s5s6s0
s6errors5

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