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