이 알고리즘을 풀려면 어떻게 해야할까요?

1~12까지의 숫자가 들어간 배열 하나랑
3개의 배열이 주어집니다.
숫자를 3개의 배열에 각각 랜덤으로 집어넣되 배열 3개에는 1~12가 한번씩은 들어가야합니다.
ex) var arr1 = [1,2,3,4]
,arr2 = [5,6,7,8]
,arr3 = [9,10,11,12];
첫번째 배열에 들어갔던 숫자는 다음번 돌릴 때 arr2나 arr3가 우선순위로 들어가게 됩니다.
그리고 각 숫자는 각 배열의 각 자리에 한번씩은 들어가야 합니다.(즉 총 돌릴 수 있는 횟수는 12번)

이게 문제인데 이 알고리즘을 어떻게 풀어야 할까요…

  1. 1~12 까지 들어있는 숫자배열의 순서를 섞고
  2. 4개씩 잘라서 세개의 배열을 만드세요