alphanumeric (영문 + 숫자) 가 아닌 애들을 전부 "" 로 치환하는 아이디어.
kotlin 에서는 relaceAll 대신 replace 만 사용한다.
non-alphanumeric 을 표현하기 위한 정규식 [^A-Za-z0-9]
[^~~]
가 [](Group) 안에 있는 정규식에 부합하지 않는 문자 를 의미한다.
import java.util.*
class Solution {
fun isPalindrome(s: String): Boolean {
// ⚠️ leetcode 가 아직도 1.3.x 버전을 사용하고 있어서 .lowercase() 메소드를 사용할 수가 없다.
val alphanumericStr = s.toLowerCase()
// 이미 lowercase 로 치환한 뒤므로
.replace("[^a-z0-9]".toRegex(), "")
val reversedStr = alphanumericStr.reversed()
return alphanumericStr == reversedStr
}
}