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 |
Tags
- Apache ab
- node.js ec2 배포
- node.js
- sql 데이터 삽입
- SMS sandbox
- filezilla
- aws sdk v3
- html tag
- node.js ec2
- sns 샌드박스 종료
- 자바
- Apache Benchmark
- 이것이 자바다
- npm 전역 설치 삭제
- EC2
- HTML 태그
- sms 샌드박스
- npm 글로벌 설치 삭제 했는데 실행됨
- COALESCE함수
- sms 휴대폰 인증
- ab 벤치마크
- PostgreSQL CAST
- sql 데이터 추가
- HTML
- Foreign Key (외래 키)
- node.js ec2 ip접속
- Java
- Primary key(기본 키)
- 스트레스툴
- AWS SDK for JavaScript v3
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 |