Notice
suyeonme
[Algorithm/문자열 탐색] 브루트-포스법(Brute force method) 본문
1. 브루트-포스법(Brute force method)이란?
- 선형 검색을 확장한 단순한 알고리즘이다.
- 효율이 좋지 않다.
2. 구현하기
public class BruteForceMethod {
static int bruteForceMethod(String text, String pattern) {
int textIdx = 0;
int patternIdx = 0;
while(textIdx != text.length() && patternIdx != pattern.length()) {
if(text.charAt(textIdx) == pattern.charAt(patternIdx)) {
textIdx++;
patternIdx++;
} else {
textIdx = textIdx - patternIdx + 1;
patternIdx = 0;
}
}
if(patternIdx == pattern.length()) {
return textIdx - patternIdx;
}
return -1;
}
public static void main(String[] args) {
int res = bruteForceMethod("ABCSuyeonDEF", "Suyeon");
System.out.println(res);
}
}
'프로그래밍👩🏻💻 > 알고리즘' 카테고리의 다른 글
[Algorithm/문자열 탐색] KMP(Knuth–Morris–Pratt) 알고리즘 (0) | 2022.06.28 |
---|---|
[Algorithm/문자열 탐색] 보이어-무어(Boyer-Moore) 알고리즘 (0) | 2022.06.28 |
[Algorithm] 도수/계수 정렬(Counting Sort) (0) | 2022.06.26 |
[Algorithm] 힙 정렬(Heap Sort) (0) | 2022.06.26 |
[Algorithm] 병합 정렬(Merge Sort) (0) | 2022.06.26 |
Comments