팰린드롬 만들기 1254

LJM·2023년 7월 6일
0

백준풀기

목록 보기
162/259

https://www.acmicpc.net/problem/1254

오른쪽에서 추가하는것이고 짧은 팰린드롬을 구하는 것이니까 왼쪽 끝에서부터 인덱스를 증가시키면서 팰린드롬인지 확인하고. 이미 팰린드롬인 부분을 구한다. 나머지 팰린드롬이 아닌부분의 크기를 입력받은 글자의 길이에 더하면 정답이다

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args)throws IOException{

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String input = br.readLine();// 50

        if(true == isPal(input)){
            System.out.println(input.length());
            return;
        }

        //pal 인 부분 찾기
        int left = 0;// = input.length();
        while(left < input.length()-1){

            String temp = input.substring(left, input.length());
            if(isPal(temp)){
                break;
            }
            left++;
        }

        System.out.println(input.length()+left);
    }

    public static boolean isPal(String str){

        for (int i = 0; i < str.length()/2; i++) {

            if(str.charAt(i) != str.charAt(str.length()-1-i)){
                return false;
            }
        }

        return true;
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글