String(스트링) 08. 유요한 팰린드룸
* 사용 언어 : JAVA
* Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리
1. 문제
앞 뒤로 읽을 때 같은 문자열인 팰린드룸을 받으면 YES, 아니면 NO를 출력하기
단, 알파벳 이외에 문자는 무시하고 대소문자를 구분하지 않음
// 입력
found7, time: study; Yduts; emit, 7Dnuof
// 출력
YES
2. 풀이
먼저 주어진 문자열을 toUppeCase() 메서드를 사용하여 모두 대문자로 변경하고 replaceAll() 메서드로 정규식을 사용하여 대문자가 아닌경우 빈 문자로 대체한다.
모든 특수문자가 제거된 문자열을 StringBuilder의 reverse() 메서드로 뒤집어서 비교해준다.
3. 코드
public class Main {
public String solution(String str){
String answer="NO";
str=str.toUpperCase().replaceAll("[^A-Z]", "");
String tmp=new StringBuilder(str).reverse().toString();
if(str.equals(tmp)) answer="YES";
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str=kb.nextLine();
System.out.print(T.solution(str));
}
}
4. Keword
- String
- replaceAll()
'Algorithm' 카테고리의 다른 글
[자바 알고리즘 문제풀이] Array 01. 큰 수 출력하기 (0) | 2022.05.09 |
---|---|
[자바 알고리즘 문제풀이] String 09. 숫자만 추출 (0) | 2022.03.21 |
[자바 알고리즘 문제풀이] String 07. 회문문자열 (0) | 2022.03.07 |
[자바 알고리즘 문제풀이] String 06. 중복 문자 제거 (0) | 2022.03.07 |
[자바 알고리즘 문제풀이] String 05. 특정 문자 뒤집기 (0) | 2022.03.07 |