회문 검사기

회문은 앞뒤로 읽을 때 모두 동일한 문자열이 됩니다. “Madam”은 쉽게 알아볼 수 있지만, “A man, a plan, a canal: Panama”은 문장 마침표와 공백을 무시해야만 인식할 수 있어 다소 까다롭습니다. 이 도구는 복사한 내용을 소문자로 변환하고 공백 및 문장 마침표를 제거하여 표준화한 후, 결과가 진정한 회문인지 확인하며, 역순 문자열도 나란히 표시합니다.

체크가 어떻게 처리되는지

  1. 1

    텍스트 또는 숫자를 붙여넣기

    단일 단어, 문장 조합, 긴 문장 또는 숫자 문자열.

  2. 2

    정규화가 적용되었습니다

    텍스트는 소문자로 변환되고, 글자나 숫자가 아닌 모든 것(공백, 구두점, 기호)이 제거됩니다. 모든 유니코드 글자는 그대로 유지되므로 악센트도 구별되며 비라틴 문자(한글 포함)도 지원됩니다.

  3. 3

    정렬 방향 대비 역방향 비교

    정규화된 문자열이 그 역순과 일치하면, 이는 팔린드롬입니다.

  4. 4

    결과를 확인하세요

    이 도구는 검증을 위해 원시 문자열과 정규화된 문자열 모두를 역순으로 표시합니다.

전형적인 팔린드롬 예시들

텍스트 유형
madam 단일 단어
level 단일 단어
racecar 단일 단어
A man, a plan, a canal: Panama 문장
Was it a car or a cat I saw? 질문
Never odd or even 문장
12321 번호
Mr. Owl ate my metal worm 긴 문장
일요일 한국어

팔린드롬의 범주들

  • 문자 팔린드롬: 기본값으로는 공백을 제외하고 동일한 문자를 정렬 방향과 역방향 모두에 적용합니다.
  • 워드 팔린드롬. “I did, did I”, 각 단어가 그대로 반영된 형태입니다.
  • 세모르디날립스(Semordnilaps). 역순으로 배열하면 다른 단어가 되는 단어들: “stressed” → “desserts”.
  • 수치적 반복문자열: 양방향으로 모두 동일하게 읽히는 모든 숫자 순서: 1991, 1881.
  • 유전체 팔린드롬: 양쪽 가닥에서 동일하게 읽히는 DNA 서열(제한효소와 관련됨).

체크의 프로그래밍

위조 코드(pseudocode)의 핵심 논리는 다음과 같습니다:

function isPalindrome(s):
    normalized = lowercase(s)
    normalized = removeAll(normalized, /[^\p{L}\p{N}]/u)   // 문자와 숫자를 유지, 문자 체계 무관
    return normalized == reverse(normalized)

이것은 표준적인 인터뷰 준비 질문입니다. 다양한 변형 형태를 통해 특수한 경우도 처리할 수 있습니다: Unicode 결합 기호를 무시하거나, 빈 문자열을 처리하며, 이모티콘을 지원하고, 글자 그룹을 고려하는 등의 경우가 포함됩니다.

이 규칙의 일반적인 변형들

  • 엄격 모드: 공백과 구두점을 포함한 모든 문자를 셉니다. "aba"는 통과; "a man a plan"는 실패합니다.
  • 문자와 숫자만 사용: 그 외 모든 요소를 제거합니다. 대부분의 일반적인 회문 검사에서는 이 방식이 사용됩니다.
  • 유니코드 정규화: 일부 검사기는 비교 전에 악센트가 있는 형태를 접어(NFKD) “café”와 “éfac”를 일치시킵니다.

이 도구는 알파벳·숫자만 사용하는 방식을 씁니다: 소문자로 바꾸고, 모든 유니코드 글자와 숫자(한글 등 모든 문자)를 유지하며, 나머지는 제거합니다. 악센트는 접지 않으므로 악센트가 있는 글자는 같은 글자와 정확히 맞아야 회문으로 인정됩니다. 별도의 ‘엄격 모드’ 버튼은 없습니다.

자주 묻는 질문

네. 어떤 한 글자라도 자명하게 회문입니다. 즉, 뒤집어도 자기 자신과 같습니다. 대부분의 교육적 정의에서는 최소 세 글자가 있어야 흥미롭다고 보지만, 수학적 정의는 길이 1은 물론 길이 0(빈 문자열)도 회문으로 인정합니다.

이들을 숫자열로 간주하세요. 121, 12321, 1991은 모두 수학적 반복문자열입니다. 큰 정수의 경우 문자열 표현을 확인하시고, 숫자를 산술적으로 역순으로 전환하려는 시도는 피해야 합니다. 그렇게 하면 앞부분의 제로가 사라지게 됩니다.

영어 분야에서 대표적인 심오한 문학 작품으로는 『한 남자, 한 계획, 한 운하: 파나마』와 그 다양한 확장 형태들이 있다. 피터 노르비그가 컴퓨터를 이용해 제작한 팔린드로마들은 17,000단어 이상에 달하지만, 어느 것도 문법적으로 타당하지 않다. 기네스 세계기록에 등재된 영어 단어 중 가장 긴 단일 단어 팔린드로마는 『유리시스』의 「타타라타트」이다.

네, 모든 언어에서 그렇습니다. 핀란드어의 “saippuakivikauppias”(비누석 판매업자, 19개 글자)는 어떤 언어에서도 자연적으로 발생하는 단일 단어 팔린드로마 중 가장 긴 사례로 자주 언급됩니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다