더북(TheBook)

 

마무리

 

 

이 장에서 배운 내용을 정리해 보겠습니다.

 

1. 피셔-예이츠 셔플 알고리즘

숫자를 무작위로 섞는 방법입니다. 무작위 인덱스를 하나 뽑은 후, 그에 해당되는 요소를 새로운 배열로 옮깁니다. 이를 반복하다 보면 새 배열에 무작위로 섞인 숫자들이 들어갑니다.

const candidate = Array(45).fill().map((v, i) => i + 1);
const shuffle = []; 
while (candidate.length > 0) { 
  const random = Math.floor(Math.random() * candidate.length); // 무작위 인덱스 뽑기
  const spliceArray = candidate.splice(random, 1); // 뽑은 값을 새로운 배열에 넣기 
  const value = spliceArray[0]; // 새로운 배열에 들어 있는 값 꺼내기
  shuffle.push(value); // 꺼낸 값을 shuffle 배열에 넣기
}
console.log(shuffle);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.