문제 출처 : leetcode.com/problems/valid-palindrome/
문제 해석 : 입력된 문자열이 뒤집어도 같은 문자열인지 판별하는 문제이다.
문제 풀이 : 이 문제에서는 숫자, 알파벳만 고려한다고 하였기 때문에 전처리후에 뒤집어서 같은지 비교하면 된다.
가능한 다른 풀이 : 리스트를 이용한 풀이
풀이 코드
class Solution:
def isPalindrome(self, s: str) -> bool:
answer = False
candidate1 = ''
candidate2 = ''
for element in s:
if element.isalnum():
candidate1 = candidate1 + element.lower()
candidate2 = element.lower() + candidate2
if candidate2 == candidate1:
answer = True
return answer
if __name__=="__main__":
S = "race a car"
S2 = "A man, a plan, a canal: Panama"
solution = Solution()
print(solution.isPalindrome(S))
print(solution.isPalindrome(S2))
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 LeetCode 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] LeetCode 937 Reorder Data in Log Files 문제 풀이 (0) | 2021.02.15 |
---|---|
[알고리즘][Python] LeetCode 344 Reverse String 문제 풀이 (0) | 2021.02.15 |
[알고리즘][Python] 백준 14889 스타트와 링크 문제 풀이 (0) | 2021.02.09 |
[알고리즘][Python] 백준 14503 로봇 청소기 문제 풀이 (0) | 2021.02.08 |
[알고리즘][Python] 백준 17144 미세먼지 안녕! 문제 풀이 (0) | 2021.02.04 |