코딩테스트/백준

백준 1254번 : 팰린드롬 만들기 [Java]

블로그 주인장 2023. 8. 30.

🎁 문제 링크

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

 

1254번: 팰린드롬 만들기

동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는

www.acmicpc.net

🎁 문제 설명

🎁 코드

import java.util.Scanner;

public class Main {
    public static boolean isPallindrome(String str){
        StringBuffer sb = new StringBuffer(str);
        return sb.reverse().toString().equals(str);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        int answer = 0;

        for (int i = 0; i < input.length(); i++) {
            if (isPallindrome(input.substring(i))) {
                answer = input.length() + i;
                break;
            }
        }
        System.out.println(answer);
    }
}

🎁 풀이

1. Scanner를 통해 input 값을 입력받아 받는다.

2. input의 길이에 따라 반복문을 돌려서 input.substring() 값을 입력한다.

3. isPallindrome 메서드를 통해 매개변수 str를 StringBuffer에 넣어 reverse 시켰을 시에 값이 포함되어 있는지 체크한다.

4. 해당 조건이 true이면 현재 문자열(input)의 길이에 i를 더해서 출력한다. 

반응형

댓글