앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다.
문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요.

예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다.


레벨 1 중에서 다음 레벨 문지기가 아닌가 싶을정도로 까다롭다. 실제로 700명밖에 못맞춤.. 나는 그 700명에 아직 포함이 안됨... 흑 위에 처럼 코드를 짯다. 물론 다른 블로그를 참고했다. 도저히 안떠올라서... 한시간 이상 못 풀면 못푼다고 하니까 ^^;; 최초에 고민했던 부분은 어느 시점을 trigger로 삼느냐였다. 어떤 조건으로부터 시작 하느냐에 대한 고민이었는데 최고의 방법은 역시 모두 다 하는 것이다. 모든 경우를 다 찾는 것, 그리고 그 걸 거꾸로 햇을때 같은것을 찾는것. 회문 문제이기에 stack을 사용하려 했으나 이 문제는 스택 여부가 아닌 회문 길이를 구하는 문제이므로 pass 비교의 경우 equals, == 이 있는데 ==는 주소값을 비교하므로 문자열을 비교할때는 equals를 쓰는것이 맞다. 다만 위 방법은 효율성 점수가 0이라 수정을 해야한다. O(N^2)이라 그런듯..

+ Recent posts