- 자바스크립트로 행운권 추출기를 구현하였다. 조금만 응용하면 로또번호 추출기도 가능하다.
- 또한, 랜덤번호를 이용해 코로나 시즌에 랜덤으로 점심조를 추출할 수 있다!
행운권 추출기
- 실행 사이트(jsfiddle): https://jsfiddle.net/5k7agrnq/
- 사용법: publishRandNum(150, 5)에 대상인원과 추출명수를 적고 실행한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27//번호 추출기
//MAX_NUM: 추천 인원
//MAX_ITER: 한번에 추출하는 숫자
function publishRandNum(MAX_NUM, MAX_ITER){
var randNumList = "";
for(var i=0; i<MAX_ITER; ++i){
jRandNum = Math.random()
rand_digit = Math.floor(jRandNum * MAX_NUM + 1)
//alert("jRandNum:"+ jRandNum + ' ,rand_digit:' + rand_digit)
randNumList += "Seq:" + (i+1) + " ,Num:" +rand_digit+ "<br>";
}
return randNumList;
}
document.write( '<p>' + "행운권 추첨기" + '</p>' );
document.write( '<p>' + publishRandNum(150, 5) + '</p>' );
/* 설정 publishRandNum(150, 5) = 150명 5명 추출
행운권 추첨기
Seq:1 ,Num:18
Seq:2 ,Num:29
Seq:3 ,Num:20
Seq:4 ,Num:141
Seq:5 ,Num:31
*/코로나 랜덤 점심 그룹 나누기
- 실행 사이트(jsfiddle): https://jsfiddle.net/5k7agrnq/
- 사용법: p_arr에 “”,로 구분하여 사람이름을 적고, publishGroup(p_arr, 4)에 한조에 구성할 최대인원을 적고 실행한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58let p_arr = [
"AAA",
"BBB",
"CCC",
"홍길동",
"아무개",
"굿굿굿",
];
let r_num = [];
let p_group = [];
function checkDup(r_num, new_num){
for (let n_val of r_num){
if (n_val === new_num) return true
}
return false
}
function publishGroup(p_arr, G_NUM){
var randGroupList = "";
//get random number (remove dup)
for(let i=0; ; ++i){
jRandNum = Math.random()
rand_digit = Math.floor(jRandNum * p_arr.length)
if (checkDup(r_num, rand_digit)==false){
r_num.push(rand_digit)
}else{ continue; }
if (r_num.length>=p_arr.length) break
}
//alert("r_num:"+ r_num.toString());
//extract group
let g_cnt = 1;
let g_per = [];
let idx=0;
for(; idx<p_arr.length; ++idx){
if (idx!=0 && (idx+1)%G_NUM==0){
g_per.push(p_arr[r_num[idx]])
randGroupList += "group:" + g_cnt + " person:" +g_per.toString()+ "<br>";
g_per = [];
++g_cnt;
}else{
g_per.push(p_arr[r_num[idx]])
}
}
if (idx%G_NUM!=0){
randGroupList += "group:" + g_cnt + " person:" +g_per.toString()+ "<br>";
}
return randGroupList;
}
document.write( '<p>' + "랜덤 그룹 추첨기" + '</p>' );
document.write( '<p>' + publishGroup(p_arr, 4) + '</p>' );