백준 19608번 Searching for Strings
백준 19608번 Searching for Strings 풀이. 슬라이딩 윈도우의 알파벳 빈도와 해시 중복 제거로 애너그램 substring 개수를 구한다.
주제
11편의 기록
백준 19608번 Searching for Strings 풀이. 슬라이딩 윈도우의 알파벳 빈도와 해시 중복 제거로 애너그램 substring 개수를 구한다.
백준 17228번 아름다운 만영로 풀이. 트리를 DFS로 내려가며 경로 문자열의 롤링 해시를 갱신해 패턴과 일치하는 경로 수를 센다.
백준 3033번 가장 긴 문자열 풀이. 롤링 해시와 이분 탐색으로 중복 부분 문자열이 존재하는 최대 길이를 찾는다.
백준 6206번 Milk Patterns 풀이. 정수 수열에 롤링 해시를 적용하고 같은 패턴이 K번 이상 등장하는 최대 길이를 찾는다.
백준 24525번 SKK 문자열 풀이. S와 K를 가중치로 바꾼 prefix sum에서 같은 값을 갖는 가장 먼 구간을 찾아 조건 문자열 길이를 구한다.
백준 11585번 속타는 저녁 메뉴 풀이. 원형 문자열을 두 번 이어 붙이고 KMP로 일치하는 회전 수를 세어 확률을 구한다.
백준 4354번 문자열 제곱 풀이. KMP 실패 함수의 마지막 값으로 반복 단위 길이를 구하고 문자열이 몇 번 반복되는지 판정한다.
백준 24524번 아름다운 문자열 풀이. 목표 문자열의 각 문자 진행 개수를 관리하며 순서대로 완성 가능한 subsequence 수를 센다.
백준 1525번 퍼즐 풀이. 퍼즐 상태를 문자열 키로 표현하고 map에 이동 횟수를 저장하며 BFS로 목표 상태까지의 최단 이동을 찾는다.
백준 9251번 LCS 풀이. 두 문자열의 접두사 조합마다 최장 공통 부분 수열 길이를 저장하는 2차원 DP를 정리한다.
백준 9935번 문자열 폭발 풀이. 문자열을 한 번 훑으며 스택의 끝이 폭발 문자열과 일치할 때 제거하는 선형 시간 접근을 정리한다.