Algorithm
알고리즘 연습 - 유효한 팰린드롬
updown
2021. 5. 23. 21:50
아래 강의를 보면서 연습하고 기록하고 있습니다
자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 - 인프런 | 강의
자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성
www.inflearn.com
문제
내 소스코드
import java.util.Scanner;
public class Algorithm {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inputString = sc.nextLine().replaceAll("[^a-zA-Z]", "");
String reverseInputString = new StringBuilder(inputString).reverse().toString();
if (inputString.equalsIgnoreCase(reverseInputString)) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
내 소스코드 해설
- 사용자에게 단어를 입력받고 정규식과 replaceAll 로 알파벳만 걸러낸다
- String으로 받은 단어를 StringBuilder로 변환하여 reverse() 한다
- equalsIgnoreCase 를 사용하여 대소문자 구분 없이 입력받은단어와 reverse한 단어가 일치하면 YES 아니면 NO 출력
참고사항
- StringBuilder에 reverse 메소드가 있다
- equalsIgnoreCase 사용하면 대소문자 구분 없이 비교할수 있다.
- replaceAll 로 문자를 치환 할 수 있다