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));
   }
}