도구·재미 계산기 모음

계산이라기보다 결정을 돕거나 궁금증을 푸는 도구들이에요. 무거운 판단이 필요 없는 것들이라 편하게 쓰시면 됩니다.

정하기 어려울 때

돌림판 룰렛은 항목을 넣고 돌리면 하나를 뽑아 줘요. 점심 메뉴나 순서를 정할 때 씁니다. 확률이 치우치지 않도록 검증한 방식으로 뽑고, 여러 개를 한 번에 뽑는 것도 됩니다.

“공정하게 뽑는다”는 말이 실제로 무슨 뜻인지

가볍게 쓰는 도구지만 여기엔 진짜 문제가 하나 있어요. 컴퓨터에서 균등한 무작위를 만드는 건 생각보다 쉽게 어긋납니다.

가장 흔한 실수가 난수를 항목 개수로 나눈 나머지를 쓰는 방식이에요. 난수가 뽑히는 범위가 항목 수로 딱 나누어떨어지지 않으면 앞쪽 항목이 조금 더 자주 걸립니다. 항목이 3개인데 0~255 중에서 뽑는다면 0·1이 86번씩, 2가 85번씩 대응되는 식이죠. 이걸 모듈로 편향이라고 부릅니다. 그래서 이 룰렛은 범위를 벗어난 값이 나오면 버리고 다시 뽑는 거부 샘플링을 써서 편향을 없애고, 난수 자체도 브라우저의 보안 난수(crypto.getRandomValues)에서 가져와요.

순서 정하기와 팀 나누기는 피셔-예이츠 셔플을 씁니다. 모든 순서가 똑같은 확률로 나오도록 보장된 방법이에요. 팀은 섞은 뒤 차례대로 배분해서 팀 사이 인원 차이가 최대 1명이 되도록 맞춥니다.

돌림판과 캡슐뽑기는 연출이 시작되기 전에 당첨을 먼저 정해요. 애니메이션은 보여 주기일 뿐이라 회전 속도나 멈추는 위치가 결과에 영향을 주지 않습니다.

마블 레이스는 반대로 풀었어요

공이 코스를 굴러 내려가는 마블 레이스는 물리가 진짜라서 결과를 미리 정해 두지 않습니다. 그런데 갈래길과 가속 구간 때문에 물리적으로 유리한 출발 위치가 실제로 존재해요. 이걸 없애는 방법으로 화면 밖에서 결과를 조작하는 대신, 매 경주마다 어느 공에 어떤 이름을 붙일지를 다시 섞습니다. 특정 자리가 유리하더라도 그 자리에 누가 배정될지가 매번 무작위라, 이름 기준으로 보면 모든 항목의 당첨 확률이 1/N로 균등하게 수렴해요. 눈에 보이는 경주와 결과가 언제나 일치한다는 점이 이 방식의 장점입니다. 공이 겹치지 않도록 마블 레이스는 항목 16개까지 지원해요.

얼마나 되는지 셀 때

글자수 세기는 공백 포함·제외 글자수와 바이트, 원고지 매수를 한 번에 세요. 자기소개서나 과제처럼 분량 제한이 있을 때 씁니다.

공백 포함은 띄어쓰기·줄바꿈·탭까지 모두 세고 공백 제외는 그 문자들을 뺀 값이라, “안녕 하세요”는 포함 6자 제외 5자예요. 자소서는 보통 공백 포함 기준이 많지만 제출처 안내를 꼭 확인해 주세요. 원고지 매수는 한 장 200자(20자 × 10줄) 기준이라 공백 포함 글자수를 200으로 나눕니다. 다만 학교·기관마다 200자와 400자 기준이 갈리고, 일본은 400자 원고지가 표준이에요.

덜 알려진 기능이 바이트 판정입니다. 문자메시지는 EUC-KR 기준 90바이트를 넘으면 단문(SMS)이 아니라 장문(LMS)으로 전환돼 요금이 달라져요. EUC-KR에서 한글 한 글자가 2바이트, 영문·숫자가 1바이트라 한글만 쓰면 약 45자가 한계입니다. 같은 맥락에서 이모지나 옛한글처럼 EUC-KR 문자표에 아예 없는 글자도 찾아 줘요. UTF-8을 쓰는 요즘 웹에서는 잘 보이지만, EUC-KR을 쓰는 오래된 관공서·금융권 양식에 넣으면 물음표나 네모로 깨지거나 입력이 거부됩니다.

정주행 계산기는 회차와 러닝타임, 하루 시청 시간을 넣으면 며칠이 걸리는지 알려 줘요. 배속도 반영합니다. 배속은 총 시간을 그대로 나누는 계산이라 1.5배속이면 3분의 2가 되는데, 오프닝 건너뛰기나 중간에 멈추는 시간까지는 계산하지 않으니 실제로는 조금 더 걸린다고 보시면 돼요. 러닝타임을 모를 때를 위해 장르별 버튼도 넣어 뒀습니다. 한국 드라마는 보통 60~70분, 미국 드라마는 40~50분, 시트콤이나 애니메이션은 20~25분 정도예요.

근거가 없다는 것을 밝히는 것도 정보입니다

이름 궁합 테스트는 두 이름의 획수로 점수를 내는 오래된 놀이예요. 근거가 있는 계산이 아니라 재미로 보는 것이니 그렇게만 받아들여 주세요.

그냥 “재미로 보세요”라고만 적고 넘어가면 성의가 없으니, 왜 근거가 없는지를 조금 더 적어 둡니다. 이유는 두 겹이에요.

첫째, 재료가 임의적입니다. 이 계산이 쓰는 한글 획수는 그 사람에 관한 정보가 아니라 표기 체계의 산물이에요. 같은 이름을 한자로 적거나 로마자로 적으면 획수가 완전히 달라지고, 개명하면 점수가 바뀝니다. 사람은 그대로인데 결과가 바뀌는 입력값으로 사람 사이의 관계를 재는 셈이죠.

둘째, 절차 자체가 임의적입니다. 두 이름을 한 글자씩 번갈아 놓고, 이웃한 두 수를 더해 일의 자리만 남기고, 숫자 두 개가 남을 때까지 반복해서 그 두 자리를 퍼센트로 읽는다 — 이 규칙에는 왜 하필 그래야 하는지에 대한 어떤 근거도 없어요. 다른 규칙을 정하면 다른 점수가 나오고, 어느 쪽이 맞다고 말할 방법이 없습니다.

그런데도 이 도구를 두는 이유는, 이런 놀이의 쓸모가 결과값이 아니라 결과를 같이 보는 상황에 있기 때문이에요. 그래서 이 계산기는 점수만 툭 던지지 않고 계산 과정을 그대로 펼쳐서 보여 줍니다. 어떤 규칙으로 그 숫자가 나왔는지 눈으로 보이면, 결과를 진지하게 받아들일 이유가 없다는 것도 같이 보이니까요.

한 가지 실무적인 주의사항이 있어요. 이름은 서버로 전송되거나 저장되지 않고 계산은 브라우저 안에서만 실행되지만, 「결과 링크 복사」를 누르면 그 링크에 이름이 담깁니다. 링크를 전달받은 사람은 입력한 이름을 볼 수 있으니, 공유할 때 이 점만 알고 계시면 됩니다.