가장 인기있는 문제 중의 하나가 Palindrome(우리나라 말로 회문이라고 하네요 ^^) 문제입니다. 앞에서부터 읽나 뒤에서부터 읽나 동일한 단어를 의미하는데요, 우리나라말로 유명한 것은 “다시합창합시다” 뭐 이런 추억돋는 문장들이 있겠네요 ㅋㅋ
이 문제의 접근법은 간단합니다. 먼저 모든 단어는 길이가 짝수 아니면 홀수겠지요? 따라서 앞의 N/2와 그에 상대되는 후반부의 element와 비교하여 끝까지 같음을 확인하면 그 단어나 문장은 Palindrome이 되겠지요.
def isPalindrome(string):
lenStr = len(string) #문자열의 길이를 받아오는 것입니다.
for i in range(lenStr/2):
if string[i] != string[lenStr-1-i]:
return False
return True
>>> isPalindrome("abcba")
True
>>> isPalindrome("abbca")
False