테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 채택완료

주니준이 5년 전 조회 3,113

var empty = new Array();

var same = new Array();

var count = 0;

for (var a = 0; a < 100; a++) {

        var result = Math.floor(Math.random() * 45) + 1;

        empty[a] = result; //empty = [a,b,c,..100]

    

}

 

for(var b=0; b<100; b++){

    for(var c=b+1; c<100; c++){

        if(empty[b]==empty[c])

        //0~45까지 숫자들 중에 100개를 랜덤으로 뽑아서 가장 많이 나온 숫자를 출력하고 싶은데 어떻게 해야할까요?

        

    }

    

}

0~45까지 숫자들 중에 100개를 랜덤으로 뽑아서 가장 많이 나온 숫자를 출력하고 싶은데 어떻게 해야할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
5년 전

원하시는 것이 100개의 숫자 중, 가장 많이 나온 숫자를 구하는 것?? 맞나요?? ^^;;

랜덤이기 때문에 가장 많이 나온 숫자는 여러개 일 수 있을 것 같아요.

가장 많이 나온 숫자들은 아래 스크립트 참조하여 주세요.

콘솔log로 찍힌 결과를 확인하시면 될 것 같아요.

만약 가장 많이 나온 숫자 중 첫번째 한개를 구할 경우,

getAllKeys()의 if문에 break를 넣어 주세요.

 

도움이 되셨으면 좋겠습니다.

</p>

<p> <script></p>

<p>var counts = {};

var idx = 0;</p>

<p>for (var a = 0; a < 100; a++) {

    var num = Math.floor(Math.random() * 45) + 1;

    counts[num] = counts[num] ? counts[num] + 1 : 1;

}</p>

<p>function getAllKeys(arr, max_val) {

    let result = [];

    for (let key in arr) {

        if (arr[key] == max_val) {

            result.push(key);

            //break;

        }

    }

    return result;

}</p>

<p>var arrayAllMaxKeys = function(array){

    return getAllKeys(array, Math.max.apply(null, Object.values(array)));

}</p>

<p>//console.log(counts);

//console.log(arrayAllMaxKeys(counts)); </p>

<p> </script></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

e
5년 전

 

정렬 부분은 아래 참조..

https://stackoverrun.com/ko/q/4168733

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

e
5년 전

실제로는 랜덤으로 하나의 숫자를 뽑는것과 동일한 효과가 있습니다.

for 문으로는 안되는데.. 이유는 모르겠네요..

</p>

<p>$data = array();</p>

<p> </p>

<p>$data[mt_rand(0,45)]++;</p>

<p>$data[mt_rand(0,45)]++;</p>

<p>$data[mt_rand(0,45)]++;</p>

<p>~~~~ 100개 나열 ~~~~~</p>

<p>$data[mt_rand(0,45)]++;</p>

<p> </p>

<p>arsort($data);</p>

<p>print_r($data);</p>

<p>echo '<hr>';</p>

<p>echo key($data);</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

e
eyekiss
5년 전
스크립트 였군요.. 죄송..^^;;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인