본문 바로가기
IT 공부/알고리즘

[JAVA] 회문 문자열 찾기 - 앞에서 읽어도 뒤에서 읽어도 같은 문자열

by 해모해모 2024. 1. 11.
728x90
반응형

[문제]
문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성(단, 회문을 검사할 때 대소문자를 구분하지 않음)

[입력]
첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어짐

[출력]
첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력

[입력 예시]
gooG

[출력 예시]
YES
첫번째 풀이
import java.util.*;
  
public class Main {
    public String solution(String str){
        String answer="YES";
        str=str.toUpperCase();
        int len = str.length();
        for(int i=0; i<len/2; i++){
          if(str.charAt(i)!=str.charAt(len-i-1))  return "NO";
        }
        return answer;
    }
    public static void main(String[] args){
        Main T = new Main();
        Scanner sc=new Scanner(System.in);
        String str = sc.next();
        System.out.println(T.solution(str));

    }
}
두번째 풀이
import java.util.*;

class Main {	
	public String solution(String str){
		String answer="NO";
		String tmp=new StringBuilder(str).reverse().toString();
		if(str.equalsIgnoreCase(tmp)) answer="YES";
		return answer;
	}

	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		String str=kb.next();
		System.out.print(T.solution(str));
	}
}
728x90
반응형

댓글