○ 알고리즘, 자료구조/2021 알고리즘
펠린드롬 | 함수, 리스트, 문자열
0ver-grow
2021. 5. 31. 20:56
반응형
주어진 코드
def is_palindrome(word):
# 테스트
print(is_palindrome("racecar"))
print(is_palindrome("stars"))
print(is_palindrome("토마토"))
print(is_palindrome("kayak"))
print(is_palindrome("hello"))
내가 푼 문제1
def is_palindrome(word):
list_word = list(word)
reverse_word = list(word) # list 변환
reverse_word.reverse() # 거꾸로 변환
return list_word == reverse_word
내가 푼 문제2
def is_palindrome(word):
word = list(word)
list_new = []
for i in range(len(word),0,-1) :
list_new.append(word[i-1])
if word == list_new :
return True
else :
return False
모범 답안
def is_palindrome(word):
for left in range(len(word) // 2):
# 한 쌍이라도 일치하지 않으면 바로 False를 리턴하고 함수를 끝냄
right = len(word) - left - 1
if word[left] != word[right]:
return False
# for문에서 나왔다면 모든 쌍이 일치
return True
반응형