자바스크립트

자바스크립트

QA

자바스크립트

본문

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

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

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

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

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

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

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

 

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


 <script>
var counts = {};
var idx = 0;
for (var a = 0; a < 100; a++) {
    var num = Math.floor(Math.random() * 45) + 1;
    counts[num] = counts[num] ? counts[num] + 1 : 1;
}
function getAllKeys(arr, max_val) {
    let result = [];
    for (let key in arr) {
        if (arr[key] == max_val) {
            result.push(key);
            //break;
        }
    }
    return result;
}
var arrayAllMaxKeys = function(array){
    return getAllKeys(array, Math.max.apply(null, Object.values(array)));
}
//console.log(counts);
//console.log(arrayAllMaxKeys(counts)); 
 </script>

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

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


$data = array();
 
$data[mt_rand(0,45)]++;
$data[mt_rand(0,45)]++;
$data[mt_rand(0,45)]++;
~~~~ 100개 나열 ~~~~~
$data[mt_rand(0,45)]++;
 
arsort($data);
print_r($data);
echo '<hr>';
echo key($data);

<script>

var data = new Array();

for(i=0; i<100; i++) {

    var ram = Math.random();

    var num = Math.floor( ram * 45 );

    var val = data[num];

    if(!val) val = 0;

    data[num] = parseInt(val) + 1;

    //document.write( data[num] + '<br>' );

}

for(var i=0;i<data.length;i++){ //배열 출력

    document.write(i + '=>' + data[i]+"<br>");

}

</script>

 

정렬 부분은 아래 참조..

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

답변을 작성하시기 전에 로그인 해주세요.
전체 946
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT