Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // var N = 5;
- // var users = [2,1,2,6,2,4,3,3];
- var N = 4;
- var users = [4,4,4,4,4];
- function solution(N, users) {
- var tempUsersArr = users.sort(function(a, b){return a - b});
- var copy = tempUsersArr.slice(0);
- var tempArr = [];
- var tempLength = users.length;
- var tempRate = 0;
- var tempRateArr = [];
- var result = [];
- var allEqual = false;
- for (var h = 1; h <= users.length; h++) {
- if (users[h] == users[0]) {
- allEqual = true;
- }
- };
- if (allEqual == true) {
- for (var t = 1; t <= N; t++) {
- if (users[0] == N) {
- result.push(t);
- var temp = result.pop();
- result.unshift(temp);
- } else {
- result.push(t);
- }
- }
- } else {
- for (var i = 0; i < tempUsersArr.length; i++) {
- var myCount = 0;
- for (var w = 0; w < copy.length ; w++) {
- if (tempUsersArr[i] == copy[w]) {
- myCount++;
- delete copy[w];
- }
- }
- if (myCount > 0) {
- var a = new Object();
- a.value = tempUsersArr[i];
- a.count = myCount;
- tempArr.push(a);
- }
- }
- for (var j = 0; j < tempArr.length; j++) {
- var b = new Object();
- if(tempArr[j].value < N) {
- tempRate = tempArr[j].count / tempLength;
- tempLength = tempLength - tempArr[j].count;
- b.stage = tempArr[j].value;
- b.value = tempRate;
- tempRateArr.push(b);
- }
- else if (tempArr[j].value == N) {
- tempRate = 0;
- b.stage = tempArr[j].value ;
- b.value = tempRate;
- tempRateArr.push(b);
- }
- };
- tempRateArr.sort(function(a,b) {
- return b.value - a.value;
- });
- for (var m = 0; m < tempRateArr.length ; m++) {
- result.push(tempRateArr[m].stage);
- };
- if(result[result.length - 1] != N) {
- result.push(N);
- };
- }
- return(result);
- };
- console.log(solution(N,users));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement