쌓고 쌓다
[프로그래머스] 가장 긴 팰린드롬 자바(Java) 풀이 및 해설 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12904#qna
풀이 방법
팰린드롬의 길이를 "1 ~ s의 길이"로 설정해 놓고 반복문을 통해
시작 위치부터 종료 위치까지 팰린드롬인지 확인하면 된다.
전체 코드
import java.util.*;
class Solution
{
public int solution(String s)
{
int answer = 0;
for(int i=s.length(); i>=1; i--) { // 검사할 팰린드롬 길이
for(int j=0; j<=s.length()-i; j++) { // 시작 위치
int cnt = 0;
int start = j; // 시작 위치
int end = j+i-1; // 끝 위치
boolean flag = true; // 팰린드롬 가능 여부
while(start <= end) {
if(s.charAt(start) != s.charAt(end)) {
flag = false;
break;
}
start++;
end--;
}
// 팰린드롬 길이가 긴 것부터 탐색하므로 첫 탐색이 최대 길이임
if(flag) {
return i;
}
}
}
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 부대복귀 자바(Java) 풀이 및 해설 (0) | 2024.05.27 |
---|---|
[프로그래머스] [1차] 셔틀버스 자바(Java) 풀이 및 해설 (0) | 2024.05.22 |
[프로그래머스] 경주로 건설 자바(Java) 풀이 및 해설 (1) | 2024.05.20 |
[프로그래머스] 입국심사 Java 풀이 및 해설 (0) | 2024.05.20 |
[프로그래머스] 디스크 컨트롤러 Java 풀이 및 해설 (0) | 2024.05.18 |
Comments