suyeonme

[Algorithm/문자열 탐색] 브루트-포스법(Brute force method) 본문

프로그래밍👩🏻‍💻/알고리즘

[Algorithm/문자열 탐색] 브루트-포스법(Brute force method)

suyeonme 2022. 6. 27. 21:44

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);
  }
}
Comments