관리 메뉴

도드넷

정보처리 실기#15 - 저장된형태 검색 알고리즘에 대하여! 본문

창고/정보처리기능사[완]

정보처리 실기#15 - 저장된형태 검색 알고리즘에 대하여!

도드! 2016. 4. 26. 10:31
반응형




정보처리기능사 실기 알고리즘 열다섯번째 유형정리는 검색하는 알고리즘입니다.

저장된 형태, 그리고 검색이라는 개념에 약간 생소해서 좀 이해못하고 해맸네요.


Aw, look at her she is like... :0


정보처리기능사 실기 시험 요점정리#15 - 저장된 형태로 검색 알고리즘


1. 저장된 형태?

- 좋아 이번 문제에서는 S(10) 배열과 A(3) 배열을 주고 S(10)의 배열 10자리에서 A(3) 저장된 형태를 찾으라고 한다. 그런데 "저장된 형태" 라는게 도대체 뭘까? 문제를 분석한 결과. A(3) 배열의 저장된 형태란 기억된

순서+숫자를 의미했다. 예를 드는게 이해하기 편한데,


S(10) = 3 2 1 3 0 8 3 1 3 4

A(3) = 0 8 3


저장된형태 : 0 8 3 

S(10)에서 A(3)저장된 형태가 나타는 구간은 "S(5)" 부터 나타난다.


이건마치 문자열을 찾는 검색기능을 하는 알고리즘과도 같다.

만약 내블로그에 내사랑 "애플잭"치면 "애플잭"이라는 문자열을 포함한 검색결과들이

나오는것과 같다.  (애플 애 플 플잭이 나오는게 아니라)


2. 검색 알고리즘

- 첫번째 원소가 가장 중요하다. 그리고 그다음 원소가 일치해야되고 그다음원소도 일치해야하는 식이다.

애플잭이라는 검색어를 치면 "애" 첫번째에 "플"이 두번쨰에 "잭"이 세번째에 있어야 만족한다고 볼수있다.

 

이를 구현한다고 해보자,


A(3)의 첫번째 원소 A(1) = 0을 S(10) Pool에서 순서대로 쭉돌려가며 비교를 하고 일치하는게 나올경우 해당 S(10)번호를 스타팅포인트로 잡고 A와 S의 인수를 +1로 늘려 A(2) = 8 그리고 (스타팅포인트+1)을 해줘서

순차적으로 일치하는지 확인하면 된다. 이런식으로 3번까지 일치하면 0 8 3 이 배열 Pool S(10)에 있다고

할수있다!









반응형
Comments