[Python]_팰린드롬

hanseungjune·2022년 6월 11일
0

Python

목록 보기
24/38

풀이

def is_palindrome(word):
    # 코드를 입력하세요.
    reverse_word = "".join(reversed(word))
    
    if word == reverse_word:
        return True
    else:
        return False
    
# 테스트
print(is_palindrome("racecar"))
print(is_palindrome("stars"))
print(is_palindrome("토마토"))
print(is_palindrome("kayak"))
print(is_palindrome("hello"))

사실 나는 문자열 자체를 뒤집을 생각이 없었다. 원래는 배열로 바꾸고 대립되는 배열의 양 끝단을 비교하는 식으로 풀려고 했는데 생각이 안났다... 그래서 저렇게 풀었다.

모범답안

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


# 테스트
print(is_palindrome("racecar"))
print(is_palindrome("stars"))
print(is_palindrome("토마토"))
print(is_palindrome("kayak"))
print(is_palindrome("hello"))

역시 모범답안이 내가 원했던 유형이다. 진짜 기회가 된다면 다음에는 꼭 이렇게 풀어야지 ㅠㅠ 내가 원하는 유형이 다행히 모범답안에서 나와서 다행이다. 복습해야겠다.

profile
필요하다면 공부하는 개발자, 한승준

0개의 댓글