알고리즘 공부 및 문제 풀이/프로그래머스(PRO)
[pro] 프로그래머스 level3 12904 가장 긴 팰린드롬 (Java)
yoonjiy
2023. 1. 30. 15:04
[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/12904
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[풀이]
가장 긴 길이부터(s.length()) 처음 시작 인덱스를 달리하며 만들 수 있는 모든 부분 문자열에 대해 팰린드롬인지 확인한다.
단순 for문으로 해결 가능하다.
[코드]
class Solution
{
public int solution(String s)
{
int answer = 0;
//가장 긴 팰린드롬의 길이를 return
for(int len=s.length(); len>=1; len--){
//시작 인덱스
for(int start=0; start+len<=s.length(); start++){
boolean check = true;
for(int k=0; k<len/2; k++){
if(s.charAt(start+k)!=s.charAt(start+len-k-1)){
check = false;
break;
}
}
if(check){
return len;
}
}
}
return answer;
}
}