더북(TheBook)

022 가장 긴 공통 접두사 찾기

 

다음 문자열 배열을 예로 살펴보자.

String[] texts = {"abc", "abcd", "abcde", "ab", "abcd", "abcdef"};

위 문자열들을 다음과 같이 한 줄에 하나씩 넣자.

abc 
abcd 
abcde
ab 
abcd
abcdef

한눈에 봐도 ab가 가장 긴 공통 접두사다. 이제 이 문제의 해법을 알아보자. 여기서 소개할 해법은 간단한 비교 방법이다. 배열의 첫 번째 문자열을 가져와 각 문자를 나머지 문자열과 비교한다. 다음 중 하나를 만족하면 알고리즘을 중지한다.

첫 번째 문자열의 길이가 나머지 모든 문자열의 길이보다 길 때

첫 번째 문자열의 현재 문자가 나머지 모든 문자열의 현재 문자와 다를 때

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.