[drugwars] 드럭워즈로 배우는 수학 -_-/

Words
101
Reading
1 min
Listen
Play
8y

"이전 시간에 드럭워즈에서는 순서가 매우 중요하다" 라고 말씀 드렸습니다.

과연 그렇다면 이 순서를 배치하는 방법이 얼마나 될까 ?!

순열 은 Permutation의 앞글자를 따서 P로 나타냅니다.

  • nPr의 의미는 n개의 숫자에서 r개를 뽑아 정렬하는 가짓수 입니다.
1P1 1
2P2 2
3P3 6
4P4 24
5P5 120
6P6 720
7P7 5040
8P8 40320
9P9 362880
10P10 3628800

방법이 엄청 많습니다.

1-4개 까진 어떻게 해보겠는데 ... 그 이상이 되면 맨붕이 됩니다 -_-;

맺음말 ( 드럭워 공략 )

  • 빈집털이 : 닌자 ( 5분안에 털 수 있음) , 바운서 ( 11분 이지만 싸고 많이 나름 )
  • 공격/방어 : 모든병력(현재 10가지종류)을 종류별로 사용하세요, 약한애(공방합이 낮은 병력 또는 싼 애들)를 앞쪽에 배치하세요
  • 좀 변수가 더 있긴 하지만 위 2가지만 잘 챙겨도 든든 합니다.

관련코드

let len = 0;

function doPermutation(arr, startIdx){
    let length = arr.length;
    if(startIdx == length-1){
        // console.log( arr );
        len++;
    }

    for(let i=startIdx; i<length; i++){
        swap(arr, startIdx, i);
        doPermutation(arr, startIdx+1);
        swap(arr, startIdx, i);
    }
}

function swap(arr, n1, n2){
    let temp = arr[n1];
    arr[n1] = arr[n2];
    arr[n2] = temp;
}

function init(){

    let arr = [0];
    for(let i=1;i<=10;i++){
        doPermutation(arr,0);
        console.log(`${i}P${i}`, len);
        len = 0;
        arr.push(i);
    }
    
}
init();
[drugwars] 드럭워즈로 배우는 수학 -_-/ | Ecency