본문 바로가기

SWEA/D2

[SWEA 1989][D2][JAVA] 초심자의 회문검사

[문제]

 

"level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.

단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램을 작성하라.

 

[풀이방법]

 

문자열의 길이 중간 (N/2)에서부터 한칸씩 앞뒤로 전진하며 동일한지 아닌지 판단하면 됩니다. 

 

 


        for (int k = 0; k < N; k++) {

            sf.append("#" + (k+1+ " ");

            

            String s = br.readLine();

        

            if (checkPalindrom(s) ) 

                sf.append(1);

            

            else 

                sf.append(0);

            

            

            sf.append("\n");

        }

        

        static boolean checkPalindrom(String s) {

            int n = s.length();

            

            for (int i = 0; i < n/2; i++) {

                if (s.charAt(i) != s.charAt(n-i-1)) 

                    return false;

            

            }

            return true;

        }