문제
- s가 주어졌을때, letters와 numbers를 제외한 나머지 문자를 제거 후, 토마토처럼 앞뒤가 동일한 문자열이면 true 반환
public class Test {
public static void main(String[] args) {
System.out.println(isPalindrome("A man, a plan, a canal: Panama"));
System.out.println(isPalindrome("race a car"));
System.out.println(isPalindrome(" "));
System.out.println(isPalindrome("0P"));
}
public static boolean isPalindrome(String s) {
}
}
결과 및 풀이
public static boolean isPalindrome(String s) {
StringBuilder newString = new StringBuilder();
for (char c : s.toCharArray()) {
if (Character.isLetterOrDigit(c)) {
newString.append(Character.toLowerCase(c));
}
}
return newString.toString().equals(newString.reverse().toString());
}
배웠다
- StringBuild 클래스에서 reverse() 메소드를 제공해준다.