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

경운·2025년 11월 19일

SWEA

목록 보기
4/4
post-thumbnail

SWEA - 초심자의 회문 검사

문제 분석

토마토처럼 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문이라고 한다
단어를 입력 받아 회문이면 1, 아니면 0 출력

입력

  • 첫 줄에는 테스트 케이스 수 T
  • 단어의 길이는 3이상 10이하

출력

  • 단어를 입력 받아 회문이면 1, 아니면 0 출력

코드 구현

import java.io.*;
import java.util.*;

public class No_1989 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int T = Integer.parseInt(br.readLine());
		
		for(int i = 0; i < T; i++) {
			String str = br.readLine();
			int answer = 0;
			
			int len = str.length();
			
			for(int j = 0; j < len / 2; j++) {
				char front = str.charAt(j);
				char end = str.charAt(len - 1 - j);
				
				if(front == end) {
					answer = 1;
					break;
				}
			}
			System.out.println("#" + (i+1) + " " + answer);
		}
	}
}

💡문제 풀이

  • 방법 1
    • 회문이면 앞에서 읽을 때와 뒤에서 읽을 때가 같아야함
    • 맨 앞과 맨 뒤 글자가 같은지 하나씩 확인하면서 중앙으로 오는 방법
  • 방법 2
    • 문자열을 통째로 뒤집어서 원본 문자열과 뒤집은 문자열 비교하는 방법

0개의 댓글