본문 바로가기
● 알고리즘, 자료구조/2021 알고리즘

펠린드롬 | 함수, 리스트, 문자열

by 0ver-grow 2021. 5. 31.
반응형

주어진 코드

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
반응형