혹시 저랑 같은 학교 이신지 --; 오늘 오토메타 시간에 --;
/* Question 2
Production Rule :
문자열 -> 문자 문자열 | 문자
문자 -> 자음 모음 | 자음 모음 자음
자음 -> ㄱ | ㄴ
모음 -> ㅗ | ㅏ | ㅗ ㅏ
*/
append4(A, B, C, D) :- append(A, B, T), append(T, C, D).
upper([ㄱ]).
upper([ㄴ]).
downer([ㅗ]).
downer([ㅏ]).
downer([ㅗ,ㅏ]).
str(X) :- upper(A), downer(B), append(A, B, X).
str(X) :- upper(A), downer(B), upper(C), append4(A, B, C, X).
strEnt(X) :- str(X).
strEnt(X) :- strEnt(A), str(B),
append(A, B, X).
라고 풀었습니다.
strEnt가 이러한 스트링을 인식하는 것이구요.
검증 방법은... 가령 '가과간낙' 이라는 스트링이 들어간다면..
strEnt([ㄱ,ㅏ,ㄱ,ㅗ,ㅏ,ㄱ,ㅏ,ㄴ,ㄴ,ㅏ,ㄱ]).
하면 yes가 나옵니다.
카페 게시글
질문과답변
Re:2번문제에 대한.. 풀이인데요.
노종욱
추천 0
조회 61
04.05.18 19:31
댓글 1
다음검색
첫댓글 그러나, 올바르지 않은 스트링이 입력될 경우 무한 리커시브 후.. 스택 오버플로가 되는군요. --;