일치하는 부분 찾기

일치하는 부분 찾기

QA

일치하는 부분 찾기

본문

일치하는 부분을 찾으려고 하는데,
이게 생각보다 어렵네요 ㅠㅠ
아래 조건을 보고 예제1,예제2의 원하는 결과를 얻고자 합니다.
도와주시면 정말 감사하겠습니다.

조건 시작-----------------
-$s01,$s02에서 6글자이상 일치하는부분을 최대로 찾음
-첫번째 일치하는 부분을 최대로 찾은 경우, 다음 시작하는 글자의 범위가 첫번째 일치하는 부분의 최대값 다음부터 시작
-$s01을 기준으로 순서도 일치해야함
-공백,특수문자는제거
조건 끝-------------------

예제1 시작-------------------------------
$s01="aaaaaabbbbbbcccccc";
$s02="bbbbbbccccccdddddd";

원하는 결과
$s01="aaaaaa[bbbbbbcccccc]";
$s02="[bbbbbbcccccc]dddddd";

예제1 끝---------------------------------

예제2 시작-------------------------------------------------------
$s01="그사람도자신이잘못했다는것을인정하며미안하다고말했습니다";
$s02="본인이잘못했다는것을그사람도인정하며미안하다고말했습니다";

원하는 결과
$s01="그사람도자신이[잘못했다는것을][인정하며미안하다고말했습니다]";
$s02="본인이[잘못했다는것을]그사람도[인정하며미안하다고말했습니다]";

예제2 끝-------------------------------------------------------

이 질문에 댓글 쓰기 :

답변 1

꽤 어려운 알고리듬이네요.

 

먼저 $s01 스트링에서 0부터 5까지의 문자를 가져와서 $s01_match,

루프 

$s01_match와 $s02를 비교함

맞는 게 있으면

   루프

   $s01_first에 $s01_match뒤에 한글자 추가후 비교

       틀리면

           $s02에 매칭에 []로 추가함.

           break.

맞는게 없으면

0번째 글자 빼고, 끝에 문자 추가함. (1에서 6까지)

 

대략 이런식의 알고리듬을 짜야 될 것 같습니다.  중간 중간 변수 프린트해가면서 구현해 보세요.  현재의 index pointer를 잘 콘트롤하는 것이 중요하고.  뒤에도 같은 말이 나왔을 때 어떻게 처리해야 될지도 고민을 해 봐야 될 것 같네요.(앞의 8자로 매칭했는데,  뒤에서 6자로 매칭이 나오는 예외 경우)

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 6
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT