728x90
너무 어렵게 생각한 것 같은데 생각보다 간단한 문제였다.
주어진 문자열이 처음부터는 아니더라도 중간 어딘가 ~ 끝에 팰린드롬이 있을 수도 있으니까 문자열 길이만큼 subString으로 잘라서 팰린드롬인지 검사하고 팰린드롬이라면 그 부분을 뺀 자른 인덱스 i 만큼 문자열 길이에 더해주면 되고
팰린드롬이 전혀 없었으면 기존 문자열 길이에 * 2 해야한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.SQLOutput;
import java.util.Stack;
public class Palindrome_01 {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
Stack <Character> stack = new Stack<>();
int answer = 0;
boolean containsPal = false;
int cnt = 0;
//모든 문자열이 팰린드롬인지 판별
for (int i = 0 ; i < str.length() ; i++) {
if (isPalindrome(str.substring(i))) {
System.out.println(str.length() + i);
return;
}
}
System.out.println(str.length() * 2);
}
public static boolean isPalindrome(String str) {
int length = str.length();
for (int i = 0; i < length / 2 ; i++) {
if (str.charAt(i) != str.charAt(length - 1 - i)) {
return false;
}
}
return true;
}
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
(백준/자바) 힌트문제3 03. 투 포인터 - 백준 2003번 문제 : 수들의 합2 (0) | 2023.08.06 |
---|---|
(백준/자바) 힌트문제3 02. 2차원배열 - 백준 2167번 문제 : 2차원 배열의 합 (0) | 2023.08.06 |
(백준/자바) 힌트문제2 05. 트리 - 백준 11725번 문제 : 트리의 부모 찾기 (0) | 2023.07.26 |
(백준/자바) 힌트문제2 03. 구현 - 백준 5613번 문제 : 계산기 프로그램 (0) | 2023.07.25 |
(백준/자바) 힌트문제1 05. 해시테이블 - 백준 10807번 문제 : 개수 세기 (0) | 2023.07.18 |