백준 10988번

이진수·2024년 3월 16일
0
post-thumbnail

📖 문제

📖 해결

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의 차이점?

  1. reverse는 리스트 타입에서 제공하는 함수로 리스트에만 쓸 수 있다.
    기본 형태는 [리스트].reverse()이고 리스트 값을 반환하는 것이 아니라 변환시켜주므로 print(word.reverse())의 결과는 None으로 출력된다.
a = [1,2,3,4]
a.reverse()

  1. reversed는 내장 함수로, list에서 제공하는 함수가 아니다. 따라서 리스트, 튜플, 딕셔너리 등에서 사용이 가능하다. reversed([리스트])가 기본형으로 값을 반환하며 객체의 값으로 반환한다. 반환된 값은 다시 다른 메서드를 통해 표현될 수 있다.
a = [1,2,3,4]
reversed(a)
profile
기록하는 개발자🧑🏻‍💻

0개의 댓글