Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스트레스툴
- 이것이 자바다
- HTML
- node.js ec2
- html tag
- sql 데이터 삽입
- node.js ec2 배포
- sns 샌드박스 종료
- 자바
- Apache Benchmark
- npm 전역 설치 삭제
- HTML 태그
- sms 휴대폰 인증
- aws sdk v3
- filezilla
- COALESCE함수
- Primary key(기본 키)
- ab 벤치마크
- sms 샌드박스
- SMS sandbox
- Foreign Key (외래 키)
- Java
- Apache ab
- npm 글로벌 설치 삭제 했는데 실행됨
- node.js
- PostgreSQL CAST
- EC2
- AWS SDK for JavaScript v3
- node.js ec2 ip접속
- sql 데이터 추가
Archives
- Today
- Total
망각에 재주 있는 나를 위해 기록하는 곳.
나이브 문자열 검색(Naive String Search) 본문
같은 패턴의 문자열을 검색하는 단순한 방법.
예를 들어, "moghohoi pqoiwhoimq" 라는 (아무거나쓴거) 문자열이 있을때 "hoi"라는 같은 패턴의 문자열을 찾는 것이다.
Naive String Search Pseudocode:
- 긴문자열을 반복하는 루프 작성. (long)
- 찾을 패턴인 문자열을 반복하는 루프 작성.(short) 패턴의 문자열의 길이는 대상 긴문자열 보다 짧거나 같아야한다. 더 길 수 없다.
- 루프안에서 문자열이 일치하지 않으면 break한다.
- 일치하는 문자열이 있다면 패턴 문자열이 다 맞는지 계속 검색 진행.
- 패턴과 일치하는 문자열을 찾으면 count를 +1하고 검색을 마치면 return.
function naiveSearch(long, short){
var count = 0;
for(var i = 0; i < long.length; i++){
for(var j = 0; j < short.length; j++){
if(short[j] !== long[i+j]) break;
if(j === short.length - 1) count++;
}
}
return count;
}
-------------------------------------------
naiveSearch("moghohoi pqoiwhoimq", "hoi")
>> 2
'자료구조&알고리즘' 카테고리의 다른 글
정렬(sorting) (0) | 2023.04.10 |
---|---|
이진검색(Binary Search) (0) | 2023.04.10 |