현재
7. 회문 문자열 본문
설명
앞으로나 뒤로 읽어도 같으면 YES, 아니면 NO
예시 입력 1
gooG
예시 출력 1
YES
<힌트 API>
더보기
toUpperCase()
equalsIgnoreCase() : 대소문자를 무시하고 비교한다
new StringBuilder(str).reverse().toString() : 이런식으로 한번에 str 생성후 저장가능
<자체풀이>
더보기
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(System.in);
char inputs [] = sc.next().toCharArray();
int lt = 0;
int rt = inputs.length - 1;
String answer = "";
while(lt < rt){
inputs[lt] = Character.toUpperCase(inputs[lt]);
inputs[rt] = Character.toUpperCase(inputs[rt]);
if(inputs[lt] == inputs[rt]){
lt++;
rt--;
answer = "YES";
} else {
answer = "NO";
break;
}
}
System.out.println(answer);
sc.close();
}
}
<정답풀이>
더보기
1.
import java.util.*;
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)) answer="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.print(T.solution(str));
}
}
2.
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));
}
}
'알고리즘 > 기타알고리즘문제' 카테고리의 다른 글
| 10. 가장 짧은 문자거리 (0) | 2024.04.08 |
|---|---|
| 8. 유효한 팰린드롬 (0) | 2024.04.03 |
| 6. 중복문자제거(indexOf()) (0) | 2024.04.03 |
| 5. 특정 문자 뒤집기(Character.isAlphabetic()) (0) | 2024.04.03 |
| 9. 숫자만 추출(Character.isDigit(char)) (1) | 2024.04.01 |