LV.3 시작!

 

언어 선택: JAVA, C#, C++, GO, JS, Kotlin, Python2, Python3, Ruby, Scala, Swift

 

[링크]

programmers.co.kr/learn/courses/30/lessons/12904

 

코딩테스트 연습 - 가장 긴 팰린드롬

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

programmers.co.kr

 

문자열이 뒤집어도 원래의 문자열과 같은 문자열을 팰린드롬 문자열이라고 합니다! 해당 문제의 설명에도 나와있으며, 이 문제를 푸는데 가장 기본이 되는 문제의 핵심 개념입니다.

 

 

 

처음엔 생각해 보고 손도 대지 못했는데, 생각을 조금 해 보니 문자열을 부분 문자열을 모두 확인하는 방법으로 일단 풀이를 진행해 보았습니다. 먼저 모듈화를 하여, 입력받은 문자열이 팰린드롬 문자열인지를 확인하는 함수를 만들었고, 설루션이라는 문제풀이 답 구하는 함수에서 반복문을 통해서 값을 찾도록 설계하여 작업하였습니다.

 

 

<소스 코드 - 솔루션>

 

 

<소스 코드 - 팰린드롬 확인 함수>

 

<실행 결과>

나름 잘 풀고 실행 시 2개 테스트 케이스를 통과했지만, 처음 보는 효율성 테스트를 통과하지 못했습니다.

 

효율성을 높여보기 위해 Answer와 비교할 부분 문자열의 길이를 비교하는 처리를 먼저 확인하여 팰린드롬 확인을 안 하는 방식으로도 진행을 해 봤지만 그래도 효율성 테스트는 통과하지 못했습니다...

 

나중에 기회가 되면 효율성은 높여보는 걸로....

+ Recent posts