rujebin.

랜덤 뽑기 사이트는 정말 랜덤일까?

rujebin · 2026년 11월 4일

뽑기 사이트에서 같은 사람이 두 번 연속 걸리면 "이거 조작 아냐?"라는 말이 나오곤 해요. 반대로 생각해 보면, 진짜 무작위라면 같은 사람이 연속으로 걸리는 일도 충분히 생겨요. 그렇다면 뽑기 사이트가 공정한지는 어떻게 알 수 있을까요? 컴퓨터가 무작위를 만드는 방법부터 쉽게 풀어 볼게요.

컴퓨터는 원래 무작위를 못 만든다

컴퓨터는 같은 입력에 늘 같은 결과를 내는 기계예요. 그래서 대부분의 프로그램은 "무작위처럼 보이는 숫자"를 계산으로 만들어요. 이걸 의사난수(pseudo-random number)라고 해요. 시작값 하나에서 정해진 공식으로 숫자를 줄줄이 만들어 내는 방식이라, 시작값을 알면 다음 숫자도 알 수 있어요.

게임 속 효과처럼 가벼운 용도에는 이 정도로 충분하지만, 결과에 돈이나 벌칙이 걸린 뽑기라면 이야기가 달라져요.

더 안전한 난수: 암호학적 난수

요즘 브라우저와 운영체제에는 암호학적 난수를 만드는 기능이 따로 있어요. 기기의 여러 예측하기 어려운 정보를 섞어서 만들고, 비밀번호나 보안 키를 만들 때 쓰는 수준이라 다음 숫자를 맞히는 게 사실상 불가능해요. 웹사이트에서는 crypto.getRandomValues라는 기능으로 쓸 수 있어요.

난수가 좋아도 생기는 함정 두 가지

1. 나머지로 자를 때 생기는 쏠림

컴퓨터 난수는 보통 아주 큰 범위(예: 0~65,535)에서 나와요. 이걸 "참가자 수로 나눈 나머지"로 바꾸면 간단하지만, 범위가 참가자 수로 딱 나누어떨어지지 않으면 앞쪽 번호가 아주 조금 더 자주 나와요.

쉬운 예로, 0~9 중 하나를 고르는 난수로 3명(0, 1, 2번) 중 한 명을 뽑는다고 해 볼게요. 나머지로 자르면 0번은 0·3·6·9 네 번, 1번과 2번은 세 번씩 걸려요. 0번만 40%, 나머지는 30%가 되는 거예요. 실제 범위는 훨씬 커서 차이가 아주 작지만, 공정한 뽑기라면 이 차이도 없애야 해요. 방법은 간단해요. 딱 나누어떨어지지 않는 끝부분(위 예에서는 9)이 나오면 버리고 다시 뽑으면 돼요.

2. 섞는 방법이 틀리는 경우

순서를 섞을 때 "아무렇게나 두 개씩 비교해서 정렬하기" 같은 간편한 방법을 쓰면, 어떤 순서는 더 자주 나오고 어떤 순서는 덜 나와요. 모든 순서가 같은 확률로 나오게 하려면 피셔–예이츠(Fisher–Yates) 셔플이라는 검증된 방법을 써야 해요. 맨 뒤 칸부터 앞쪽 칸 중 하나를 무작위로 골라 자리를 바꾸는 방식이에요.

그래도 같은 사람이 연속으로 걸리는데요?

4명 중 한 명을 공정하게 뽑으면, 방금 걸린 사람이 다음 판에 또 걸릴 확률은 25%예요. 네 번에 한 번은 연속 당첨이 나오는 셈이죠. 사람은 이런 연속을 "이상하다"고 느끼지만, 오히려 연속이 전혀 안 나온다면 그게 더 이상한 거예요.

루제빈 뽑기는 이렇게 만들었어요

💡 공정한 뽑기는 "결과가 고르게 나오는 것"이 아니라 "모든 결과가 같은 확률을 갖는 것"이에요. 연속 당첨은 운이 나빴던 것뿐이에요.

🎲 공정한 랜덤 도구를 써 보세요바로 쓰기 →

다른 가이드