개발자의 logs
스터디 운영용으로 만들어본 랜덤순서 정하기 프로그램 (nodejs) 본문
얼마전부터 면접 스터디그룹을 만들어서 cs 공부를 하고있다
참가인원은 5명!! (나포함)
발표순서를 정하고 면접처럼 발표를 하는데, 매번 사다리타기를 했고 어느날부턴 하기 귀찮았다.
그래서 프로그램을 만들었다. (이유단순)
알고리즘을 설명하자면 0,5사이에서 랜덤으로 5명을 뽑고, 혹시라도 중복되면 리스트에 넣지않는다.
그리고 마지막으로 cs 발표를 하는사람에게 면접 질문을 할 사람을 지정해줘야 하는데,
그사람은 내 다음 발표자다. 그래서 인덱스로 다음 발표자를 면접관으로 지정하는 알고리즘을 추가해줬다.
생각보다 간단하다 알다싶이 난 그렇게 알고리즘 고수는 아니다!!!하하..
이 블로그 글을 봐주는 사람들의 유익함을 위해
소스코드를 공개한다!
member = ['김하연', '하율찬', '정오현', '이형섭', '김숙영'];
// var member = ['김하연', '하율찬', '정오현'];
// var already = [];
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
var already = [];
while (true) {
for (let i = 0; i < 100; i++) {
if (
already.includes(member[Math.floor(Math.random() * (max - min)) + min])
) {
//pass;
} else {
already.push(member[Math.floor(Math.random() * (max - min) + min)]);
var set = new Set(already);
// console.log(set);
already = [...set];
if (already.length > 4) {
console.log(already);
break;
}
}
//최댓값은 제외, 최솟값은 포함
}
break;
}
for (let i = 0; i < already.length; i++) {
if (i < already.length - 1) {
console.log(
'수험번호',
i + 1,
'번 :',
already[i],
'// ',
'면접관 : ' + already[i + 1] + 'CTO'
);
} else {
console.log(
'수험번호',
i + 1,
'번 :',
already[i],
'// ',
'면접관 : ' + already[0] + 'CTO'
);
}
}
}
getRandomInt(0, 5);
'개발자 학습노트 > * 학습일기*' 카테고리의 다른 글
10주차 WIL - 변명은 없다 / 지금까지 써본 실전 기술정리 (0) | 2022.07.17 |
---|---|
nodejs multer s3에 연결하기 소스코드 source code (0) | 2022.07.15 |
nodejs -스웨거( swagger ) (0) | 2022.07.12 |
9주차 WIL - 더욱 깊게 항해하라 (0) | 2022.07.10 |
TIL - 7월4일에 성공하다 (0) | 2022.07.04 |
Comments