@@ -70,22 +70,6 @@ def isPalindrome(self, s: str) -> bool:
7070 return True
7171
7272
73- """ ์ ์ฒ๋ฆฌ ํ์ํจ
74- class Solution:
75- def isPalindrome(self, s: str) -> bool:
76-
77- chars = re.sub(r'[^a-zA-Z0-9]', '', s).lower()
78-
79- for i in range(len(chars)//2):
80- left = chars[i]
81- right = chars[len(chars) - 1 - i]
82-
83- if left != right:
84- return False
85-
86- return True
87- """
88-
8973""" ์ ๊ท์
9074import re
9175
@@ -126,3 +110,34 @@ def isPalindrome(self, s: str) -> bool:
126110* iterator
127111๋ฐ์ดํฐ์ ์์ฐจ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ๋ ๊ฐ์ฒด์ผ ๋ฟ, ๊ทธ ์์ฒด๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ด๊ณ ์๋ ๋ฆฌ์คํธ๋ ํํ๊ณผ ๊ฐ์ ์ง์ ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์๋๋ค.
128112"""
113+
114+
115+ ### 6๊ธฐ ###
116+ import re
117+
118+ class Solution :
119+ def isPalindrome (self , s : str ) -> bool :
120+
121+ if len (s ) == 0 :
122+ return True
123+
124+ # remove non-alphanumeric
125+ result = re .sub (r'[^a-zA-Z0-9]' , '' , s ).lower ()
126+
127+ # forward/backward ๋น๊ต
128+ # ์ ๋ ฌ ์์ด ๋น๊ตํ๋ ๊ฒ ํจ์จ์ ์ผ ๊ฒ ๊ฐ๋ค. index
129+ for i in range (len (result )// 2 ):
130+ if result [i ] == result [- (i + 1 )]:
131+ continue
132+ else :
133+ return False
134+ return True
135+
136+ """ Q. ์ ๋จ์ ์ธ๋ฑ์ค ๋น๊ต๋ณด๋ค ๋ณต์ฌ๋ณธ์ ์์ฑํ๋ ์ฌ๋ผ์ด์ฑ ์๋ฃจ์
์ด ๋ ๋น ๋ฅธ๊ฐ?
137+
138+ ์ธํฐํ๋ฆฌํฐ ์ค๋ฒํค๋ : for ๋ฃจํ, range() ์์ฑ, ์กฐ๊ฑด๋ฌธ(if), ์ธ๋ฑ์ค ๊ณ์ฐ(-(i+1)) ๋ฑ ๋ชจ๋ ์์
์ด Python ์ธํฐํ๋ฆฌํฐ ๋ ๋ฒจ์์ ์คํ
139+ - ์ธ๋ฑ์ฑ ์ฐ์ฐ์ C๋ก ๊ตฌํ๋ ๋ด๋ถ ํจ์๋ฅผ ํธ์ถํ์ฌ ๋ฌธ์์ด์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์์น์์ ํด๋น ์์น์ ๋ฌธ์ ๊ฐ(character)์ '๊ฐ์ ธ์ด'
140+ - ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ์์ฒด๋ฅผ ํต์งธ๋ก ๋น๊ตํ๋ ๊ฒ์ด ์๋๋ผ, ๋งค๋ฒ ๋ฃจํ๊ฐ ๋ ๋๋ง๋ค ๋ ๊ฐ์ ๋ฌธ์๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ์ ธ์์ ๋น๊ตํ๋ฉฐ, ์ด ๋ชจ๋ ๋จ๊ณ๋ฅผ Python ์ธํฐํ๋ฆฌํฐ๊ฐ ์ ์ดํ๋ค -> Python ๋ฃจํ์ ์ค๋ฒํค๋
141+ ์ฌ๋ผ์ด์ฑ(C์ธ์ด๋ก ๊ตฌํ) : C ์ฝ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ์ง์ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ ์ฒด ๋ฌธ์์ด์ด ์ผ์นํ๋์ง ๊ฒ์ฌ
142+ - ์ ๊ท์๋ C๋ก ๊ตฌํ๋ผ์ ๋น ๋ฅธ๊ฑฐ์
143+ """
0 commit comments