CS/Data Structure & Algorithm

[String] 7. 회문 문자열

import java.util.*;
/**
1. 다 대문자로 바꾼 후 toCharArray를 통해 배열로 받아서
left right 인덱스를 설정하고 인덱스를 통해 값을 비교
2. 다 대문자로 바꾼 후 charAt(left), charAt(length() - left - 1)을 비교. 1번에 비해 변수를 적게 사용하고 배열로 접근 안하고 객체의 메서드만을 이용해 해결
3. 문자열을 아예 통째로 뒤집어서 오리지날 문자열과 equals() 비교
*/
public class Main {
	public String solution(String str) {
		String answer = "";	
		/*
		char[] t = str.toUpperCase().toCharArray();
		int lt = 0;
		int rt = str.length() - 1;
		
		while(lt <= rt) {
			if(t[lt] == t[rt]) {
				lt++;
				rt--;
			} else {
				return answer = "NO";
			}
		}
		return 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 = "YES";
		*/
		String tmp = new StringBuilder(str).reverse().toString();
		if(str.equals(tmp)) answer = "YES";
		return answer = "NO";
	}
	
	public static void main(String[] args) {
		Main m = new Main();
		Scanner in = new Scanner(System.in);
		
		String str = in.next();
		System.out.println(m.solution(str));
	}
}

'CS > Data Structure & Algorithm' 카테고리의 다른 글

[String] 9. 숫자만 추출  (0) 2022.09.22
[String] 8. 팰린드롬  (0) 2022.09.22
[String] 6. 중복문자제거  (0) 2022.09.22
[String] 5. 특정 문자 뒤집기  (1) 2022.09.16
[String] 4. 단어 뒤집기  (0) 2022.08.17