초성 퀴즈 만들기: 변환이 항상 맞는 이유

초성 퀴즈 출제기에 내가 원하는 단어를 넣으면 늘 정확한 초성으로 바뀌는데, 이게 우연히 맞아떨어지는 건지 아니면 정해진 규칙이 있는 건지 궁금해질 수 있습니다. 결론부터 말하면 완성형 한글은 초성·중성·종성이 고정된 수식으로 조합된 유니코드 문자이고, 초성 퀴즈는 그 수식을 거꾸로 풀어 초성 한 칸을 뽑아내는 것뿐입니다. 그래서 어떤 단어를 넣어도 결과가 항상 정확합니다.

요약 ① 완성형 한글 코드값은 (초성 index × 588) + (중성 index × 28) + 종성 index 라는 고정 공식으로 정해져 있어 역산이 항상 정확합니다. ② ㄲㄸㅃㅆㅉ 같은 쌍자음은 19개 초성 배열 안에 처음부터 독립된 한 칸으로 들어 있어 별도 취급이 필요 없습니다. ③ 영어·숫자·기호·공백은 이 완성형 범위(가~힣) 밖이라 조건을 만족하지 못해 원문 그대로 남습니다.

내 단어로 퀴즈를 만들 때 궁금해지는 것

초성 퀴즈 출제기에 단어 목록을 넣어보면 대부분은 문제없이 초성으로 바뀝니다. 그런데 목록에 '빵', '딸기'처럼 쌍자음이 들어간 단어를 넣거나 '사과 주스'처럼 띄어쓰기가 있는 단어를 넣으면, 결과가 왜 그렇게 나오는지 궁금해집니다.

예를 들어 '빵'을 넣으면 초성이 'ㅂㅂ' 두 글자가 아니라 'ㅃ' 한 글자로 나옵니다. '사과 주스'를 넣으면 'ㅅㄱㅈㅅ'처럼 붙지 않고 'ㅅㄱ ㅈㅅ'처럼 띄어쓰기가 그대로 유지됩니다. 영어 브랜드명이나 숫자가 섞인 단어를 넣으면 그 부분만 변환되지 않고 원문 그대로 남습니다.

이 결과가 매번 정확한 이유를 알아야, 내가 어떤 단어 목록을 넣어도 안정적으로 퀴즈가 만들어진다는 확신이 생깁니다. 그 근거는 도구가 아니라 완성형 한글 자체의 구조에 있습니다.

도구 없이 손으로 초성을 계산하는 방법

완성형 한글은 유니코드 표준에서 가(U+AC00)부터 힣(U+D7A3)까지 정확히 11,172개 음절로 정해져 있습니다. 이 숫자는 초성 19개, 중성 21개, 종성(받침 없음 포함) 28개를 모두 곱한 조합 수와 정확히 같습니다(19×21×28=11,172).

코드값을 정하는 공식

각 음절의 유니코드 코드값은 다음 공식으로 정해집니다.

코드값 = 44032 + (초성 index × 588) + (중성 index × 28) + 종성 index

여기서 588은 중성 21개 × 종성 28개를 곱한 값입니다. 즉 초성 index가 하나 바뀔 때마다 코드값이 588씩 건너뛴다는 뜻입니다. 그래서 어떤 글자의 코드값에서 44032(가의 코드값)를 뺀 뒤 588로 나눠 몫만 취하면(소수점을 버리는 정수 나눗셈), 그 글자의 초성 index가 그대로 나옵니다.

초성 index와 자음 대응표

초성 index 0~18은 다음 19개 자음에 순서대로 대응합니다.

ㄱ(0) ㄲ(1) ㄴ(2) ㄷ(3) ㄸ(4) ㄹ(5) ㅁ(6) ㅂ(7) ㅃ(8) ㅅ(9) ㅆ(10) ㅇ(11) ㅈ(12) ㅉ(13) ㅊ(14) ㅋ(15) ㅌ(16) ㅍ(17) ㅎ(18)

손으로 계산해 검증하기

실제로 손으로 계산해도 이렇게 맞아떨어집니다.

글자유니코드코드값−44032÷588의 몫(index)초성
U+AC0000
U+C0AC52929
U+C790705612
U+AE4C5881

이 계산은 컴퓨터가 특별한 사전을 찾아보는 게 아니라, 이 나눗셈 하나를 글자 수만큼 반복하는 것뿐입니다. 그래서 완성형 한글 범위 안에 있는 글자라면, 어떤 단어를 넣어도 결과가 항상 정확히 나옵니다.

저희 도구로 확인하기.

한글 초성 퀴즈 출제기 및 플레이어

내가 입력한 단어 목록을 실시간으로 초성 변환해 미리보고, 그 목록으로 바로 퀴즈를 시작합니다. 설치나 로그인 없이 무료로 사용합니다.

초성 변환 결과, 헷갈리기 쉬운 4가지

위 공식을 알고 나면 자주 헷갈리는 부분도 이유가 그대로 설명됩니다.

입력변환 결과그렇게 나오는 이유
쌍자음은 19개 초성 배열 안에 이미 독립된 index로 들어 있어 ㅂ+ㅂ으로 쪼개지지 않습니다
강아지ㄱㅇㅈ받침(종성)은 나눗셈의 나머지에만 영향을 줘 몫(초성 index)은 바뀌지 않습니다
Wi-Fi 6EWi-Fi 6E완성형 한글 코드 범위(가~힣) 밖이라 조건을 만족하지 못해 원문이 유지됩니다
사과 주스ㅅㄱ ㅈㅅ공백도 범위 밖 문자라 그대로 남아 띄어쓰기(어절 구분)가 유지됩니다

쌍자음이 한 칸인 이유

ㄲㄸㅃㅆㅉ는 'ㄱ을 두 번 조합한 글자'가 아니라, 애초에 19개 초성 중 하나로 독립적으로 배정돼 있기 때문입니다. 그래서 변환 로직이 따로 예외 처리를 하지 않아도 자동으로 한 글자가 됩니다.

받침 유무가 결과에 영향을 주지 않는 이유

이 특징도 같은 공식에서 나옵니다. 종성 index는 나눗셈의 나머지 부분에만 관여하고 몫에는 영향을 주지 않습니다. 그래서 '가'든 '강'이든 초성이 같으면 결과도 같은 ㄱ으로 나옵니다.

영어·숫자·기호가 그대로 남는 이유

이 문자들의 코드값이 가힣 범위(011171) 밖이기 때문입니다. 조건을 만족하지 못하니 변환 대상에서 아예 제외되고 입력한 문자가 그대로 출력됩니다.

띄어쓰기가 유지되는 이유

공백 문자 역시 완성형 한글 범위 밖이라 변환되지 않기 때문입니다. 그래서 초성 문제 화면에 처음부터 단어의 띄어쓰기 구조(몇 어절인지)가 그대로 드러나며, 힌트로 글자를 하나씩 공개하는 과정에서도 공백 자체는 애초에 가려진 적이 없어 그대로 유지됩니다.

정리

  • 완성형 한글(가~힣, 11,172자)은 초성 19 × 중성 21 × 종성 28의 고정 공식으로 조합되어 있고, 코드값을 588로 나눈 몫이 곧 초성 index입니다.
  • ㄲㄸㅃㅆㅉ 쌍자음은 19개 초성 배열에 처음부터 독립된 한 칸으로 들어 있어 별도 처리 없이 한 글자로 변환됩니다.
  • 받침(종성)은 나눗셈의 나머지에만 영향을 주므로, 받침이 있든 없든 초성이 같으면 같은 결과가 나옵니다.
  • 영어·숫자·기호·공백은 가~힣 범위 밖이라 조건을 만족하지 못해 입력한 그대로 남고, 이 덕분에 띄어쓰기 구조도 함께 유지됩니다.
  • 이 규칙은 어떤 단어 목록을 넣어도 동일하게 적용되므로, 직접 출제기에 단어를 넣어 미리보기로 결과를 확인해볼 수 있습니다.
한글 초성 퀴즈 출제기 및 플레이어

내가 입력한 단어 목록을 실시간으로 초성 변환해 미리보고, 그 목록으로 바로 퀴즈를 시작합니다. 설치나 로그인 없이 무료로 사용합니다.

자주 묻는 질문

쌍자음으로 시작하는 단어는 힌트에서 어떻게 나오나요?

힌트는 정답 단어의 글자를 한 글자씩 순서대로 공개하는 방식입니다. 초성이 ㄲㄸㅃㅆㅉ인 글자도 다른 글자와 동일하게 한 글자 단위로 공개되며, 초성 문제 화면에도 이미 쌍자음이 한 칸으로 표시돼 있으므로 정답을 입력할 때 그 표시대로 쌍자음 한 글자를 입력하면 됩니다.

영어나 숫자가 섞인 단어도 퀴즈로 만들 수 있나요?

네, 만들 수 있습니다. 다만 완성형 한글 음절(가~힣)만 초성으로 바뀌고 영어·숫자·기호는 조건을 만족하지 못해 원문 그대로 남습니다. 예를 들어 'Wi-Fi 6E'를 넣으면 변환 결과도 'Wi-Fi 6E'로 그대로 나옵니다.

옛한글 자모나 완성형에 없는 글자도 초성으로 바뀌나요?

바뀌지 않습니다. 변환 대상은 가(U+AC00)부터 힣(U+D7A3)까지의 완성형 한글 11,172자로 한정돼 있습니다. 이 범위를 벗어나는 문자는 완성형 한글 음절이 아니므로 조건을 만족하지 못해 원문 그대로 남습니다.

왜 하필 588이라는 숫자로 나누나요?

588은 중성 21개와 종성 28개를 곱한 값(21×28)이기 때문입니다. 완성형 한글은 초성 하나마다 중성·종성 조합 588가지가 이어지는 구조로 코드값이 배열돼 있어서, 코드값을 588로 나눈 몫이 정확히 몇 번째 초성인지를 가리키게 됩니다.

가격 보기카톡 무료 상담