ALGORITHM/PROGRAMMERS
[프로그래머스] 가장 긴 팰린드롬
0298
2021. 9. 1. 23:39
https://programmers.co.kr/learn/courses/30/lessons/12904
코딩테스트 연습 - 가장 긴 팰린드롬
앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들
programmers.co.kr
2021-09-01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class Solution {
public int solution(String s) {
for(int len = s.length(); len > 0; len--) {
for(int left = 0; left < s.length()-len+1; left++) {
int l = left;
int r = len - 1 + left;
boolean flag = false;
while(l < r) {
if(s.charAt(l) != s.charAt(r)) {
flag = true;
break;
}
l++;
r--;
}
if(!flag) return len;
}
}
return 1;
}
}
|
cs |
#문제풀이
가장 길게 만들 수 있는 길이부터 차례대로 팰린드롬이 가능한지 체크한다.