Valid Palindrome (easy)

JUNE 06, 2023

문제

  • s가 주어졌을때, letters와 numbers를 제외한 나머지 문자를 제거 후, 토마토처럼 앞뒤가 동일한 문자열이면 true 반환

004

  • 주어진 코드
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() 메소드를 제공해준다.

작업 기록 블로그