일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Trie
- 코테준비
- leetcode
- SWIFT
- 컨볼루션
- 전자공학
- 스위프트
- 알고리즘문제풀이
- SWIFTUI
- IOS
- 릿코드
- backjoon
- DTFT
- dft
- 알고리즘
- 트라이
- 신호처리
- 코테
- 카카오 코딩테스트
- 이산신호처리
- leet code
- 백준
- 파이썬
- 코딩테스트
- 독서노트
- DSP
- 알고리즘 문제풀이
- 프로그래머스
- Leet Coding Challenge
- PYTHON
Archives
- Today
- Total
매일 매일 성장하는 섭섭군
[Leet Coding Challenge] Valid Palindrome, 2020.08.01~07 본문
반응형
오늘의 문제는 Valid Palindrome 이라는 문제다. 즉, 필렌드롬이 맞는지 확인하는 문제다. 문제는 다음과 같다.
Explore - LeetCode
LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore.
leetcode.com
Palindrome이란?
Palindrome은 앞으로 읽으나 뒤로 읽으나 똑같은 문자열을 말한다.
예를 들어보자면 "토마토", "ABCBA", "123321"같은 문자열이 Palindrome 문자열이다.
이제 문제를 풀어보자!
주어진 문자열은 알파벳, 숫자, 띄어쓰기, 특수문자 등 여러가지가 포함된다.
문제의 조건에 알파벳과 숫자만 판단한다고 한다. Example1이 True인것을 보니 대소문자는 같은 알파벳으로 본다.
즉 "A$% B# *(#a" 이것은 Palindrome이다. 특수문자와 띄어쓰기를 제거하면 "aba"가 되기 때문이다.
-> 이렇게 문자열을 잘 가공만 해주면 문제는 쉽다. 뒤집어서 같은지만 확인하면 된다.
전체 코드는 다음과 같습니다. 질문과 피드백은 언제나 감사드립니다.
class Solution:
def isPalindrome(self, s: str) -> bool:
result = ''
s = s.lower()
for i in s :
if (i >= "a" and i <= "z") or (i >= "0" and i <= "9") :
result += i
if result == result[::-1] :
return True
else :
return False
반응형
'알고리즘 문제풀이 > LeetCode' 카테고리의 다른 글
[Leet Coding Challenge]Excel Sheet Column Number, 2020.08.08~14 (0) | 2020.08.11 |
---|---|
[Leet Coding Challenge] Add and Search Word - Data structure design, 2020.08.01~07 (0) | 2020.08.06 |
[LeetCode Top Interview Questions] Happy Number (0) | 2020.08.05 |
[Leet Coding Challenge] Power of FourSolution, 2020.08.01~07 (0) | 2020.08.04 |
[Leet Coding Challenge] Design HashSet, 2020.08.01~07 (0) | 2020.08.03 |
Comments