Coding Test/알고리즘 이론

문자열 심화: Naive String Matching (4)과 Boyer-Moore 알고리즘 (7)

hyunkookim 2025. 1. 7. 16:22

Naive String Matching 관련 문제

  1. 28. Find the Index of the First Occurrence in a String (strStr) (Easy)
    • 설명: 주어진 두 문자열에서 특정 패턴 문자열의 시작 인덱스를 반환합니다.
    • 핵심 개념: 문자열 비교, Naive String Matching.
  2. 796. Rotate String (Easy)
    • 설명: 두 문자열이 주어졌을 때, 하나를 회전하여 다른 문자열을 만들 수 있는지 확인합니다.
    • 핵심 개념: Naive 문자열 비교.
  3. 415. Add Strings (Easy)
    • 설명: 두 문자열로 표현된 숫자를 더한 결과를 반환합니다.
    • 핵심 개념: Naive 문자열 처리, 수학.
  4. 242. Valid Anagram (Easy)
    • 설명: 두 문자열이 애너그램인지 확인합니다.
    • 핵심 개념: 문자열 정렬 및 비교.

Boyer-Moore 알고리즘 관련 문제

  1. 214. Shortest Palindrome (Hard)
    • 설명: 문자열을 회문으로 만들기 위해 최소한의 문자를 추가합니다.
    • 핵심 개념: 접두사/접미사, Boyer-Moore를 활용한 고급 문자열 검색.
  2. 28. Find the Index of the First Occurrence in a String (strStr) (Easy)
    • 설명: 특정 패턴 문자열의 시작 인덱스를 반환합니다.
    • 핵심 개념: Boyer-Moore 알고리즘을 활용한 최적화 가능.
  3. 795. Number of Subarrays with Bounded Maximum (Medium)
    • 설명: 주어진 배열에서 특정 범위 내에 최대값이 있는 부분 배열의 수를 계산합니다.
    • 핵심 개념: Boyer-Moore와 유사한 부분 배열 최적화 가능
  4. 796. Rotate String (Easy)
    • 설명: 주어진 문자열을 회전하여 다른 문자열을 만들 수 있는지 확인합니다.
    • 핵심 개념: Boyer-Moore 알고리즘을 적용한 문자열 비교 가능.
  5. 169. Majority Element (Easy)
    • 설명: 배열에서 과반수 이상 나타나는 요소를 찾습니다.
    • 핵심 개념: Boyer-Moore Majority Vote Algorithm.
  6. 229. Majority Element II (Medium)
    • 설명: 배열에서 3분의 1 이상 나타나는 모든 요소를 찾습니다.
    • 핵심 개념: Boyer-Moore Majority Vote Algorithm 확장.
  7. 44. Wildcard Matching (Hard)
    • 설명: 문자열이 와일드카드 패턴과 일치하는지 확인합니다.
    • 핵심 개념: 문자열 매칭, 동적 프로그래밍.