애너그램 검사기
두 텍스트가 애너그램인지 확인 · 문자 빈도 비교 시각화
📖 애너그램 판별, 정렬 대신 문자 빈도표를 쓰는 이유 가이드 보기
애너그램 검사기
애너그램은 같은 문자를 재배열하여 만든 단어나 구절입니다. 'listen'→'silent', 'earth'→'heart'처럼 철자가 완전히 같아야 합니다. 애너그램 여부 판정과 각 문자의 개수(A/B) 표시는 정확하게 계산되지만, 빈도가 다른 문자 셀에 표시되는 차이값(Δ) 부분은 코드에서 템플릿 문자열이 아닌 일반 작은따옴표 문자열 안에 계산식을 그대로 넣어버려서, 실제 숫자 대신 "Δ" 뒤에 계산식 텍스트 자체가 글자 그대로 화면에 표시됩니다.
자주 묻는 질문
빈도가 다른 문자 셀에 이상한 글자가 보이는 이유는 무엇인가요?
차이값을 표시하는 부분이 실제 계산식을 문자열 안에 끼워 넣는 템플릿 리터럴이 아니라 일반 작은따옴표 문자열로 잘못 작성돼 있어서, 계산된 숫자 대신 "Math.abs(ca-cb)" 같은 수식 표현 자체가 글자 그대로 출력되는 표시 버그입니다.
이 표시 버그가 애너그램 여부 판정에도 영향을 주나요?
아니요. 애너그램인지 아닌지는 각 문자의 빈도수를 직접 비교하는 별도의 로직으로 판정되며 이 부분은 정상 동작합니다. 화면에 깨져 보이는 것은 두 텍스트 사이의 개수 차이를 보여주는 보조 표시 한 줄뿐입니다.
각 문자 셀에 나오는 "3 / 1" 같은 숫자는 무엇을 뜻하나요?
슬래시 앞이 텍스트 A에서, 뒤가 텍스트 B에서 해당 문자가 등장한 횟수입니다. 이 두 숫자는 정상적으로 계산되어 정확하게 표시됩니다.
공백 문자는 빈도표에서 어떻게 표시되나요?
빈 칸으로 두면 눈에 잘 띄지 않기 때문에 공백 문자는 "SP"라는 약자로 표시됩니다.
구두점 무시 옵션은 정확히 어떤 기준으로 문자를 걸러내나요?
유니코드 속성 정규식 \p{L}(문자)과 \p{N}(숫자)에 해당하지 않는 모든 문자를 제거합니다. 이 방식은 영문뿐 아니라 한글, 한자 등도 '문자'로 인식하므로 언어에 상관없이 구두점만 정확히 걸러낼 수 있습니다.
한국어(완성형 한글)도 정확히 비교되나요?
네. 완성형 한글 음절 하나는 유니코드 코드 포인트 하나에 대응하므로, 문자 단위로 순회하는 이 도구의 빈도 계산 방식으로도 '가', '나' 같은 글자를 자모로 쪼개지 않고 한 글자로 정확히 셉니다.
이모지나 결합 문자도 정확히 셀 수 있나요?
대부분의 유니코드 코드 포인트는 정확히 처리되지만, 국기 이모지나 ZWJ로 결합된 이모지처럼 여러 코드 포인트가 하나의 문자처럼 보이는 경우에는 코드 포인트 단위로 쪼개져 예상과 다르게 집계될 수 있습니다.
애너그램과 팰린드롬의 차이는 무엇인가요?
애너그램은 서로 다른 두 문자열이 같은 문자 구성을 가지는지 검사하고, 팰린드롬은 문자열 하나가 앞으로 읽으나 뒤로 읽으나 같은지 검사합니다.