간단한 랜덤숫자 하나가 필요한 순간은 생각보다 자주 찾아옵니다. 경품 추첨, 발표 순서 정하기, 스터디 조 편성, 테스트 데이터 생성처럼 사소해 보이는 일에도 누구나 납득할 수 있는 무작위 값이 필요합니다. 문제는 어떤 방법을 쓰느냐에 따라 공정성과 편의성이 크게 달라진다는 점입니다. 같은 "1부터 100까지 하나 뽑기"라도 손으로 적어 뽑을 때와 함수로 계산할 때의 결과 신뢰도는 다르게 받아들여집니다.
랜덤숫자가 필요한 대표 상황
무작위 값이 필요한 상황은 크게 다섯 가지로 나뉩니다. 어떤 목적인지에 따라 필요한 정확도와 기록 방식이 달라지므로, 방법을 고르기 전에 목적부터 구분하는 편이 좋습니다.
- 추첨과 당첨자 선정: 참가자에게 일련번호를 부여한 뒤 범위 안에서 숫자를 뽑는 방식입니다. 결과를 남에게 설명해야 하므로 과정의 투명성이 가장 중요합니다.
- 순서 정하기: 발표 순서, 청소 당번, 게임 선공처럼 결과가 가벼운 경우입니다. 속도와 간편함이 우선입니다.
- 표본 추출: 설문 응답 1,000건 중 50건만 검수하거나, 재고 목록에서 일부만 실사할 때 사용합니다. 중복 없는 여러 개의 숫자가 필요합니다.
- 테스트 데이터 생성: 개발이나 기획 단계에서 임의의 가격, 수량, 좌표값을 채워 넣을 때 씁니다. 대량 생성과 재현성이 관건입니다.
- 임시 코드 발급: 초기 비밀번호, 참가 번호, 인증 코드 등입니다.
도구별 랜덤숫자 생성 방법 5가지
가장 널리 쓰이는 다섯 가지 방법을 정리하면 다음과 같습니다. 준비물이 필요 없는 아날로그 방식부터 대량 처리가 가능한 방식까지 특성이 뚜렷하게 나뉩니다.
| 방법 | 범위 지정 | 중복 제거 | 준비 시간 | 추천 상황 |
|---|---|---|---|---|
| 주사위, 동전 | 1~6 등 고정 | 불가 | 즉시 | 소규모 순서 정하기 |
| 종이 뽑기 | 자유 | 가능 | 길다 | 현장 공개 추첨 |
| 스프레드시트 함수 | 자유 | 수식 추가 필요 | 보통 | 표본 추출, 대량 생성 |
| 스마트폰 계산기, 기본 앱 | 제한적 | 불가 | 짧다 | 혼자 빠르게 확인 |
| 웹 생성기 | 자유 | 가능 | 즉시 | 범용, 다인원 추첨 |
스프레드시트를 쓴다면 RANDBETWEEN(1,100) 형태의 함수가 가장 직관적입니다. 다만 이 함수는 시트를 수정할 때마다 값이 새로 계산되므로, 결과를 확정하려면 해당 셀을 복사한 뒤 값으로만 붙여넣어 고정해야 합니다. 여러 명을 한 번에 뽑거나 중복이 없어야 하는 번호가 필요하다면 랜덤 숫자 생성기로 범위와 개수를 한 번에 지정하는 편이 수식을 짜는 것보다 실수가 적습니다.
진짜 무작위와 유사 난수의 차이
컴퓨터가 만들어 내는 숫자는 대부분 완전한 무작위가 아닙니다. 시작값(시드)을 넣으면 정해진 계산식을 거쳐 무작위처럼 보이는 수열을 뽑아내는 방식이며, 이를 유사 난수라고 부릅니다. 같은 시드를 넣으면 같은 결과가 반복해서 나옵니다.
반면 대기 잡음이나 방사성 붕괴 같은 물리 현상을 이용하는 진짜 난수는 재현이 불가능합니다. 실무에서는 이 차이가 오히려 장점이 되기도 합니다. 테스트 데이터를 만들 때는 같은 시드로 같은 값을 다시 뽑을 수 있어야 버그를 재현할 수 있기 때문입니다. 목적이 공정성이라면 재현되지 않는 쪽이, 목적이 검증이라면 재현되는 쪽이 유리합니다.
공정성을 해치는 흔한 실수 3가지
도구를 제대로 골라도 사용하는 과정에서 결과가 왜곡되는 경우가 많습니다. 아래 세 가지가 가장 자주 나옵니다.
- 마음에 드는 결과가 나올 때까지 다시 뽑기: 재추첨 자체가 무작위성을 무너뜨립니다. 뽑기 전에 몇 회 실행할지 미리 정해 두어야 합니다.
- 범위 설정 오류: 참가자가 30명인데 1부터 29까지로 지정하면 마지막 사람은 처음부터 제외됩니다. 시작값과 끝값이 모두 포함되는지 반드시 확인합니다.
- 중복 처리 누락: 세 명을 뽑는데 같은 번호가 두 번 나오면 그 자리에서 규칙을 정하게 되고, 이때 개입이 생깁니다. 중복 허용 여부를 사전에 공지해야 합니다.
상황에 맞는 방법 고르기
정리하면 선택 기준은 단순합니다. 혼자 빠르게 확인할 값이면 주사위나 계산기로 충분하고, 결과를 다른 사람에게 설명해야 한다면 범위와 개수가 화면에 남는 도구를 쓰는 편이 좋습니다. 수십 개 이상을 한꺼번에 만들어 저장해야 한다면 스프레드시트 함수가 가장 효율적입니다.
마지막으로 확인할 것은 세 가지입니다. 범위의 시작과 끝이 정확한가, 중복을 허용할 것인가, 결과를 기록으로 남길 것인가. 이 세 가지만 미리 정해 두면 어떤 방법을 쓰든 결과를 두고 다툴 일은 거의 생기지 않습니다.