처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / 알고리즘 / 문제

알고리즘에서 '매나커(Manacher) 알고리즘'의 용도는?

어려움 freeCodeCamp
보기 및 정답
A 문자열에서 모든 회문(palindrome) 부분 문자열을 O(n) 시간에 찾는 알고리즘이다
B 문자열의 모든 문자를 알파벳순으로 재배치하여 사전순 정렬하는 알고리즘이다
C 두 개의 문자열 사이에서 편집 거리를 계산하여 유사도를 측정하는 알고리즘이다
D 문자열의 반복 패턴을 찾아 중복을 제거하고 원본 대비 크기를 줄이는 문자열 데이터 압축 알고리즘이다

해설

매나커 알고리즘은 각 위치를 중심으로 하는 최장 회문의 반지름을 O(n) 시간에 모두 구합니다. 이전에 계산한 회문 정보를 활용하여 중복 비교를 줄이는 것이 핵심입니다. 나이브 접근의 O(n²)보다 크게 효율적이며, 최장 회문 부분 문자열 문제에 활용됩니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기