[알고리즘]/자바 알고리즘 공부

[알고리즘 공부] 회문 문자열

쿠릉쿠릉 쾅쾅 2022. 4. 8. 03:43
728x90

 

 

회문 문자열

▣ 설명
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력 하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다.

▣ 입력설명
첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.

▣ 출력설명
첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다.

▣ 입력예제 1

gooG

▣ 출력예제 1

YES

 

 

📌 풀이1

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	
    public static void main(String[] args) throws IOException  {

    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	
    	String str = br.readLine();
    	String result = solution(str);
    	System.out.println(result);
    	
    }
    
    static String solution(String str) {
    	
    	int len = str.length();
    	str = str.toUpperCase();
    	for(int i=0; i<len/2; i++) {
    		if(str.charAt(i)!=str.charAt(len-i-1)) {
    			return "NO";
    		}
    	}
    	return "YES";
    }
}

 

📌 풀이2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	
    public static void main(String[] args) throws IOException  {

    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	
    	String str = br.readLine();
    	String result = solution(str);
    	System.out.println(result);
    	
    }
    
    static String solution(String str) {
    	
    	String tmp = new StringBuilder(str)
    			.reverse()
    			.toString();
    	
    	if(str.equalsIgnoreCase(tmp)) {
    		return "YES";
    	}
    	
    	return "NO";
    }
    
}

 

 

728x90