Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- react
- Manacher
- VrioReact
- 프로그래밍
- Belllzet
- Bellzet
- Viro
- AR
- react-native
- javascript
- 벨제트
- Web
- ObjectNotFound
- 랜덤음식점
- CommandNotFoundException
- 멍령어
- API
- CommandNotFound
- 리액트네이티브
- 자바스크립트
- Vrio
- 리액트
- 웹
- 지도api
- Expo
- 카카오지도api
- 웹개발
- 다음지도api
- Manacher's Algorithm
- 웹프로젝트
Archives
- Today
- Total
목록Manacher (1)
개발블로그
Manacher's Algorithm은 문자열 내에서 회문(팰린드롬, palindrome)을 찾는 것과 관련된 알고리즘이며, 시간복잡도는 O(N)이다. (여기서 N은 문자열의 길이) 여기서 회문, 팰린드롬이란, 앞뒤를 뒤집어도 똑같은 문자열을 의미한다. 여기서 단순하게 하나하나 문자열을 자르고 뒤집어 비교하는 것은 시간이 오래 걸리기에 효율적이지 못하다. 이 알고리즘은 문자열 S에 대해 다음과 같은 배열을 만들 수 있다. 문자열 S의 길이를 N이라 하고 (|S| = N) 같은 길이의 정수 배열 A를 만든다. A의 i번째 원소 A[i]는 i번째 문자를 중심으로 하는 가장 긴 회문의 반지름 크기이다. (회문의 길이가 5이면, 반지름은 2가 된다) 즉, 부분 문자열 S[i-A[i] , i+A[i]] 는 회문이..
알고리즘 Algorithm
2020. 3. 6. 18:05