https://www.acmicpc.net/problem/1254
1254번: 팰린드롬 만들기
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는
www.acmicpc.net
깔끔하지 못합니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] input = br.readLine().toCharArray();
int len = input.length;
if (len < 2) {
System.out.print(len);
return;
}
for (int i = len / 2; i < len; i++) {
if (input[i] == input[i - 1]) {
int j = 0;
int l = 1;
while (true) {
if ((i - l == 0 && i + j != len - 1) || input[i - l] != input[i + j]) break;
if (i + j == len - 1) {
System.out.print(len * 2 - (1 + j + l));
return;
}
j++;
l++;
}
}
if (i == len - 1) {
System.out.print(len * 2 - 1);
return;
}
if (input[i - 1] == input[i + 1]) {
int j = 1;
while (true) {
if (input[i - j] != input[i + j]) break;
if (i + j == len - 1) {
System.out.print(len * 2 - (1 + j * 2));
return;
}
j++;
}
}
}
}
}
'OJ' 카테고리의 다른 글
[BOJ] 5555 반지 (JAVA) (0) | 2023.02.22 |
---|---|
[BOJ] 2864 5와 6의 차이 (JAVA) (0) | 2023.02.21 |
[BOJ] 10820 문자열 분석 (JAVA) (0) | 2023.02.19 |
[BOJ] 4358 생태학 (JAVA) (0) | 2023.02.18 |
[BOJ] 1032 명령 프롬프트 (JAVA) (0) | 2023.02.17 |