회문
회문은 앞뒤 어느 쪽에서 읽어도 같은 숫자, 단어 또는 문장을 말합니다. PalindromeQ, 해당 옵션, 기타 스트링과 관련한 낮은 수준의 함수를 사용하여 회문 구조의 단어와 문장을 테스트합니다.
다음의 영어 회문을 살펴봅니다.
In[1]:=
PalindromeQ["racecar"]
Out[1]=
Anna라는 이름은, 대문자 소문자의 차이를 무시한다면 회문으로 볼수있습니다.
In[2]:=
PalindromeQ["Anna", IgnoreCase -> True]
Out[2]=
Decapitalize를 사용하여 첫글자를 소문자로 변경할 수 있습니다.
In[3]:=
PalindromeQ[Decapitalize["Anna"]]
Out[3]=
프랑스어 동사 "rêver" 역시 추가 기호를 무시하면 회문으로 불수있습니다.
In[4]:=
PalindromeQ["rêver", IgnoreDiacritics -> True]
Out[4]=
RemoveDiacritics를 사용하여 동사를 처리합니다.
In[5]:=
PalindromeQ[RemoveDiacritics["rêver"]]
Out[5]=
회문 구조의 문장의 경우, 일반적으로 먼저 문자열을 처리할 필요가 있습니다.
In[6]:=
sentence = "Now, sir, a war is won!";
In[7]:=
PalindromeQ[sentence]
Out[7]=
In[8]:=
StringDelete[sentence, PunctuationCharacter | Whitespace]
Out[8]=
In[9]:=
StringDelete[sentence, PunctuationCharacter | Whitespace];
PalindromeQ[%, IgnoreCase -> True]
Out[9]=