우당탕탕 개발일지

[SWEA] 1989. 초심자의 회문 검사(Java, D2) 본문

코테/SW Expert Academy

[SWEA] 1989. 초심자의 회문 검사(Java, D2)

ujin302 2024. 4. 29. 11:06
반응형

문제

"level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.
단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램 구현

 

입출력 예

 

 

풀이

단어의 가운데 있는 문자를 기준으로 양쪽이 동일한지 확인하면 된다. 

 

level의 경우, {0번 문자와 4번 문자}, (1번 문자와 3번문자} 가 동일한지 확인하면 된다. 

따라서 가운데 문자의 인덱스를 구한 후, 양쪽을 비교한다. 

 

양쪽 문자 비교는 for문을 문자의 인덱스까지 반복한다. 

코드

Scanner sc = new Scanner(System.in);

        int tc = sc.nextInt();

        for (int t = 0; t < tc; t++) {
            int result = -1;
            String str = sc.next();

            int a = str.length() / 2; // 가운데 Index
            char[] strChar = str.toCharArray();

            for (int i = 0; i < a; i++) {
                if (result != 0) {
                    if (strChar[i] == strChar[str.length() - (i + 1)]) {
                        result = 1;
                    } else
                        result = 0;
                }
            }
            System.out.println("#" + (t + 1) + " " + result);

 

 

SWEA 문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PyTLqAf4DFAUq

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

반응형