회문 및 애너그램 검사기
문구가 회문처럼 거꾸로 읽어도 같은지, 또는 두 텍스트가 서로 애너그램인지 확인합니다 — 브라우저에서 즉시 정규화하여 비교합니다.
조회수 219회
무엇이 문구를 회문으로 만드는가
회문(palindrome)이라는 단어는 그리스어 palíndromos에서 유래했으며 "다시 거꾸로 달린다"는 뜻입니다 — 앞으로 읽으나 뒤로 읽으나 같은 텍스트에 딱 어울리는 이름입니다. 제대로 검사하려면 먼저 텍스트를 정규화해야 합니다: 모든 문자를 소문자로 바꾸고 공백, 쉼표, 콜론 등의 문장부호를 제거하되 각 글자의 원래 순서는 그대로 유지합니다. 이 단계를 건너뛰면 "A man, a plan, a canal: Panama"처럼 교과서에 나오는 회문조차 검사를 통과하지 못합니다. 원본 문자열이 뒤집은 문자열과 동일하지 않기 때문인데, 대문자 "A", 쉼표, 공백이 모두 방해가 됩니다. 하지만 먼저 정규화하면 "amanaplanacanalpanama"가 되고, 이는 한 글자 한 글자 거꾸로 읽어도 완전히 동일합니다.
회문은 단어와 문장에만 국한되지 않습니다. 숫자도 회문이 될 수 있습니다 — 12321, 7, 1001은 모두 양방향으로 같게 읽힙니다 — 그리고 회문 날짜, 제품 코드, 심지어 DNA 서열까지 말장난을 훨씬 넘어선 분야에서도 등장합니다. 이 모든 것이 공유하는 것은 이 도구가 실행하는 것과 동일한 검사 방식입니다: 문자나 숫자가 아닌 것을 모두 제거하고, 남은 것을 소문자로 바꾼 뒤, 정규화된 문자열을 뒤집어 원래의 정규화된 문자열과 비교합니다. 두 문자열이 정확히 일치하면 입력값은 회문이며, 일치하지 않으면 정확히 무엇이 비교되었는지 알 수 있도록 정규화된 텍스트가 결과와 함께 표시됩니다.
애너그램, 그리고 이를 무기로 사용한 천문학자들
애너그램(anagram)은 그리스어 anagrammatismos, 대략 "글자 재배열"이라는 뜻에서 유래했습니다. 두 텍스트가 한 글자씩 재배열하여 서로 바꿀 수 있다면 서로 애너그램입니다 — 여기서는 사람이 손으로 확인하는 방식과 똑같이, 다만 자동화되어 검사됩니다: 두 텍스트를 모두 소문자로 바꾸고 공백을 제거한 뒤, 각 텍스트에 남은 글자를 알파벳순으로 정렬하여 두 정렬된 문자열을 비교합니다. 두 문자열이 일치하면 한 텍스트의 모든 글자가 다른 텍스트에서 정확히 짝을 이루는 글자를 가진다는 뜻이며, 이는 글자가 원래 어떤 순서였든 상관없이 애너그램의 정의 그 자체입니다.
십자말풀이가 등장하기 훨씬 전, 16~17세기 과학자들은 애너그램을 더 전략적인 목적으로 사용했습니다: 발견의 실제 내용을 아직 공개하지 않은 채로 경쟁자에게 선수를 빼앗기기 전에 발견에 대한 공로를 주장하는 것이었습니다. 1610년, 갈릴레오 갈릴레이는 토성의 기이하고 둥글지 않은 모양을 관측했다고 발표하면서 동료 천문학자들에게 뒤섞인 라틴어 문구 "Smaismrmilmepoetaleumibunenugttauiras"를 보냈습니다 — 이 애너그램을 풀면 "Altissimum planetam tergeminum observavi"("나는 가장 먼 행성이 삼중 형태를 가진 것을 관측했다")가 되는데, 이는 훗날 토성의 고리로 밝혀지게 될 대상을, 그것을 선명히 분해하기에는 너무 약한 망원경으로 관측하고 내놓은 그의 최선의 묘사였습니다. 같은 퍼즐을 받은 요하네스 케플러는 스스로 풀어보려다 화성과 관련된 완전히 다르고 틀린 의미를 추측해냈습니다. 로버트 훅도 1676년에 비슷한 일을 했는데, 오늘날 훅의 탄성 법칙이라 불리는 것을 오직 "ceiiinosssttuv"라는 애너그램으로만 발표하고 2년을 더 기다린 뒤에야 답을 공개했습니다: "Ut tensio, sic vis"("변형이 있는 만큼, 힘이 있다"). 두 경우 모두, 애너그램 덕분에 저자는 실제 발견 내용을 완전히 발표할 준비가 될 때까지 비밀로 유지하면서도 발견 시점을 공개적으로 기록할 수 있었습니다.
자주 묻는 질문
"A man, a plan, a canal: Panama"는 왜 회문으로 간주되나요?
회문 검사는 먼저 텍스트를 정규화하기 때문입니다 — 모든 글자를 소문자로 바꾸고 공백과 문장부호를 제거한 뒤 뒤집은 문자열과 비교합니다. "amanaplanacanalpanama"로 정규화하면 앞으로 읽으나 뒤로 읽으나 완전히 동일하지만, 대문자와 쉼표, 공백이 있는 원래 문장은 전혀 대칭으로 보이지 않습니다.
숫자도 회문이 될 수 있나요?
네 — 숫자는 12321, 1001, 7처럼 자릿수가 앞으로 읽으나 뒤로 읽으나 같으면 회문입니다. 이 도구가 텍스트에 사용하는 정규화 후 반전 비교 방식은 숫자 문자열에도 그대로 적용되며, 그래서 회문 숫자, 날짜, 제품 코드가 말장난을 훨씬 넘어선 분야에서도 등장하는 것입니다.
애너그램 검사기는 실제로 무엇을 비교하나요?
두 텍스트를 모두 소문자로 바꾸고 공백을 제거한 뒤, 각 텍스트에 남은 글자를 알파벳순으로 정렬하여 두 정렬 결과가 동일한지 확인합니다. 동일하다면 첫 번째 텍스트의 모든 글자가 두 번째 텍스트에서 정확히 짝을 이루는 글자를 가진다는 뜻이며, 이는 원래 단어 순서와 상관없이 애너그램의 정의입니다.
과학자들이 실제로 발견을 숨기기 위해 애너그램을 사용했나요?
네 — 갈릴레오 갈릴레이는 1610년 토성의 특이한 모양을 관측했다는 사실을, 실제로 무엇을 보았는지 공개하기 전에 발견의 우선권을 주장할 수 있도록 뒤섞인 라틴어 애너그램으로 발표했으며, 로버트 훅도 1676년 자신의 탄성 법칙에 대해 똑같이 했습니다. "ceiiinosssttuv"라는 애너그램으로 발표한 뒤 2년이 지나서야 답을 풀어 공개했습니다.
애너그램을 검사할 때 대소문자와 띄어쓰기가 중요한가요?
아니요 — 비교 전에 두 텍스트가 모두 정규화되므로, "Listen"과 "Silent", 또는 "dormitory"와 "dirty room"처럼 대소문자와 띄어쓰기가 다르더라도 서로 애너그램임을 정확히 감지합니다.
비슷한 도구
문제 신고하기
회문 및 애너그램 검사기
댓글
아직 댓글이 없습니다 — 첫 댓글을 남겨보세요!