Algorithm
[자바 알고리즘 문제풀이] String 08. 유효한 팰린드룸
민뭉아치
2022. 3. 7. 01:02
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()
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com