📖 문제
📖 해결
word = list(input())
if word == list(reversed(word)):
print(1)
else:
print(0)
📖 풀이
쉬운 문제이지만 reverse() 함수 사용이 헷갈려서 기록해 두려고 한다.
처음에 if(word == word.reverse()) 이런식으로 코드를 구성했는데 이는 옳지 않은 방법이다.
reverse() 메서드는 리스트를 반대로 뒤집는 역할을 하지만, 새로운 리스트를 반환하지 않고 'None'을 반환한다. 이는 파이썬의 메서드들이 보통 'in-place'로 작동하기 때문이다. 따라서 word.reverse()의 변수는 'None'이 된다.
문제에서 요구하는 것 처럼 word 리스트를 뒤집은 결과를 얻고 싶다면, reverse() 메서드를 호출한 후에 word 리스트를 확인해야 한다.
💡 사용 예시
word = ['a', 'b', 'c', 'd']
word.reverse() # 원본 리스트를 뒤집는다.
print(word)
# 출력 결과
['d', 'c', 'b', 'a']
📖 reverse와 reversed의 차이점?
a = [1,2,3,4]
a.reverse()
a = [1,2,3,4]
reversed(a)