IT 개발 관련/[Algorithm]

[백준] 10988번: 팰린드롬인지 확인하기 - Java

Baileyton 2024. 8. 28. 16:29
728x90

문제

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

주어진 문자열이 팰린드롬인지 확인하는 문제로,  팰린드롬(Palindrome)이란 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 문자열을 의미한다.

 

접근 방법

팰린드롬은 첫 번째 문자와 마지막 문자가 같고, 두 번째 문자와 끝에서 두 번째 문자가 같은 식으로 쌍을 이루어야 합니다. 이를 반복하여 문자열의 길이의 절반만큼 비교하면 된다.

 

풀이 과정

  • 입력 받기: 문자열을 입력받습니다.
  • 팰린드롬 확인: 문자열의 앞쪽 문자와 뒤쪽 문자를 순서대로 비교합니다.
  • 반복문 사용: 반복문을 통해 문자열의 길이의 절반만큼 비교하면서 문자가 다르면 팰린드롬이 아님을 확정할 수 있습니다.
  • 결과 출력: 모든 쌍이 일치하면 팰린드롬으로 판단하고 1을 출력, 하나라도 다르면 0을 출력합니다.

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();

        // 문자열이 팰린드롬인지 확인하기 위해 앞뒤로 비교
        boolean isPalindrome = true;
        int length = input.length();

        for (int i = 0; i < length / 2; i++) {
            if (input.charAt(i) != input.charAt(length - 1 - i)) {
                isPalindrome = false;
                break;
            }
        }

        // 팰린드롬이면 1, 아니면 0 출력
        System.out.println(isPalindrome ? 1 : 0);
    }
}

메모리:14244kb 시간:100ms

728x90