[백준] 1254 - 팰린드롬 만들기 (JAVA)

leeng·2일 전
0

[백준] 1254 - 팰린드롬 만들기

규칙을 찾으면 코드 구현 자체는 그렇게 어렵지 않는 문제였다. (물론 늘 그렇지만 규칙을 찾는 게 어렵다는 게 문제...)

내가 생각한 규칙은 문자열의 맨 뒤는 고정하고, 앞에서부터 차례로 문자열을 확인하여 현재의 문자열이 팰린드롬일 때까지 인덱스를 1씩 늘려가는 것이었다.
그리고 현재 문자열이 팰린드롬이라면, 현재 인덱스의 값만큼 문자열 길이에 추가해주면 된다. (= 전체 문자열 뒤에 현재 인덱스까지의 문자열을 추가해주는 것)

아래는 전체 소스코드이다.

// 1254 - 팰린드롬 만들기
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String input = br.readLine();
        br.close();
        int i = 0;
        while (i < input.length()) {
            if(isPalindrome(input.substring(i))) break;
            i++;
        }
        bw.write(String.valueOf(input.length() + i));
        bw.flush();
        bw.close();
    }

    static boolean isPalindrome(String string) {
        boolean result = true;
        for (int i = 0; i < string.length() / 2; i++) {
            if (string.charAt(i) != string.charAt(string.length() - 1 - i)) {
                result = false;
                break;
            }
        }
        return result;
    }
}
profile
기술블로그보다는 기록블로그

0개의 댓글