๐ Valid Palindrome
๐What I thought
- ๋์๋ฌธ์ ๊ตฌ๋ถ ์ ํด โ ๋ค ์๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ โ
lower() - ์๋ฌธ์์ ์ซ์๋ง ์ทจ๊ธ โ ๊ณต๋ฐฑ ํฌํจ ๊ธฐํธ ๋ค ์ ๊ฑฐ โ ์ ๊ทํํ์์ผ๋ก ์๋ฌธ์ + ์ซ์๋ง ๋จ๊ธฐ์ โ
re.sub() - ์ด๋ ๊ฒ ๋ค ์ ๋ฆฌ๋ ๋ฌธ์์ด์ด ๋ค์ง์ ๋ฌธ์์ด์ด๋ ๋๊ฐ์ผ๋ฉด True โ
sequence slicing
๐ํ์ด
๐re.sub()
def isPalindrome(self, s: str) -> bool:
s = s.lower()
s = re.sub('[^a-z0-9]', '', s)
return s == s[::-1]๐What I learned
- ์ ๊ทํํ์ ํํ๋ค์ ์ ์์๋์!!
๐ re.sub(pattern, replace, str, cnt)
๋ฌธ์์ด์์ ์ ๊ท ํํ์ ํจํด์ ํด๋นํ๋ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์นํํ๋ ์ ๊ท ํํ์ ํจ์
๋ค์ํ ์ ๊ท ํํ์ ํจํด ํํ
Link to originalํจํด ์ค๋ช ^ ์ด ํจํด์ผ๋ก ์์ํด์ผ ํจ $ ์ด ํจํด์ผ๋ก ์ข ๋ฃ๋์ด์ผ ํจ [chars] ๋ฌธ์๋ค ์ค ํ๋์ฌ์ผ ํจ
๊ฐ๋ฅํ ๋ฌธ์๋ค์ ์งํฉ์ ์ ์[^chars] ์๋์ด์ผ ํ ๋ฌธ์๋ค์ ์งํฉ์ ์ ์ [a-d] ํด๋น ๋ฌธ์ ์ฌ์ด ๋ฒ์์ ์ํ๋ ๋ฌธ์๋ค์ ์งํฉ์ ์ ์ [^a-d] ํด๋น ๋ฌธ์ ์ฌ์ด ๋ฒ์์ ์ํ์ง ์๋ ๋ฌธ์๋ค์ ์งํฉ์ ์ ์