Algorithm/문제
7. 회문 문자열
챛채
2023. 5. 17. 20:03
1. 기본
gooG ->4/2=2 나눠서 나온 몫 전까지만 돌리면된다. (인덱스 번호 2전까지만)
i < len/2
홀수 stuts -> 5/2 -> 0,1까지만 돌면 됨(가운데는 대칭이므로 비교하지 않아도 됨)
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer = "YES"; //Yes인지 No인지 리턴을 해야하기 때문
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 kb = new Scanner(System.in);
String str = kb.next();
System.out.println(T.solution(str));
}
}
2. equalsIgnoreCase()
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer = "NO"; //Yes인지 No인지 리턴을 해야하기 때문
String tmp = new StringBuilder(str).reverse().toString();
if (str.equalsIgnoreCase(tmp)) { //equalsIgnoreCase() : 대소문자 구별 없이 비교
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.println(T.solution(str));
}
}