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

U·2023년 2월 26일

백준

목록 보기
12/116

💻 문제


일단 이해하자🤔

  • 문자열 str을 받아 char형 배열 ch에 한 글자씩 넣고 for문을 이용해서 ch[i]ch[ch.length - i - 1]이 같은지 비교한다. 같으면 true, 다르면 false를 반환한다.

👀 풀이

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));

        String str = bfr.readLine();
        char ch[] = new char[str.length()];
        boolean palindrome = false;

        for (int i = 0; i < ch.length; i++) {
            ch[i] = str.charAt(i);
        }


        for (int i = 0; i < ch.length / 2; i++) {
            if (ch[i] == ch[ch.length - i - 1]) {
                palindrome = true;
            } else {
                palindrome = false;
                break;
            }
        }

        if (ch.length == 1) {
            palindrome = true;
        }

        if (palindrome) {
            bfw.write("1");
        } else {
            bfw.write("0");
        }


        bfr.close();
        bfw.flush();
        bfw.close();
    }
}

아쉬웠던 점••

  • 한 글자가 입력될때는 0이 출력되어 따로 if문에서 문자열의 길이가 1일때는 true가 되도록 설정해주었는데 이렇게 따로 설정하지 않고도 1이 출력되는 방법이 있을까?
profile
백엔드 개발자 연습생

0개의 댓글