[JS] 피셔 예이츠 셔플(Fisher–Yates Shuffle) 알고리즘
1. 셔플 알고리즘(shuffle) 본론으로 돌아와서, 자바스크립트에서는 랜덤 정렬을 두 가지 방법을 이용해서 구현할 수 있는데, 첫 번째는 sort() 메서드를 이용하는 방법이고, 두 번째는 피셔 예이츠 셔플(Fisher-Yates Suffle) 알고리즘을 이용하는 방법이다. 2. Sort() 를 이용하는 방법 sort() 메서드는 음수 값을 리턴하면 내림차순으로 정렬되고, 양수 값을 리턴하면 오름차순으로 정렬된다. 그래서 이를 랜덤으로 정렬시키기 위해서는 양수 또는 음수 값이 나오는 선택지를 줘야한다. const arr = [1, 2, 3, 4, 5]; arr.sort(() => Math.random() - 0.5); 위 예제를 보면 Math.random()은 곱한 값이 없으므로 0.xxxxxxxx의..
2020.08.05