
문제 www.acmicpc.net/problem/20191 알고리즘 이분탐색 풀이 문자열 S와 T가 주어집니다. Tn을 문자열 T를 n회 반복한 문자열이라고 정의할 때, n번 반복하여 줄임말 S를 만들기 위한 최소 n을 구하는 문제입니다. 줄임말을 만들 때, 순서를 유지한다는 점에서 투포인터 전략을 떠올릴 수 있습니다. 각각을 pt,ps라고 해봅시다. 각 포인터가 가리키는 문자열이 일치할 때는 둘 다 1씩 더해서 다음 문자를 확인하고 다르다면 pt만을 증가시키고 문자열 T가 끝에 다다랐다면 다시 pt를 0으로 초기화 해줍니다. 이렇게 할 경우 다음과 같은 예시에서 비효율적으로 작동하게 됩니다. zzzz aaaz 즉 z가 나타나는 위치를 찾기 위해 일일이 T문자열을 탐색하는 대신, 다른 ..
Algorithm
2021. 1. 21. 16:17
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- sorting
- 이분탐색
- 2-SAT
- SCC
- 트라이
- 동적계획법
- spring boot
- implementation
- dfs
- hld
- Oracle
- knapsack
- spring
- Segment tree
- 정렬
- 이분매칭
- kmp
- 스위핑
- dijkstra
- sweeping
- Fenwick
- string
- bfs
- 세그먼트트리
- 펜윅트리
- DP
- union find
- Suffix Array
- greedy
- 좌표압축
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함