인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김도영님의 프로필 이미지
김도영

작성한 질문수

모던 자바스크립트(javascript) 개발을 위한 ES6 강좌

로또번호 생성기 풀이

작성

·

135

0

const setting = {
    name : "LOTTO",
    count : 6,
    bonus : true,
    min   : 1,
    max   : 45
}

function getRandomNumber( min, max ) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function makeLottoNumber( { count, bonus, min, max } ) {
    let numberSet = new Set(),
        bo_num;

    while( numberSet.size < count ) {
        numberSet.add( getRandomNumber(min, max) );
    }

    if( bonus ) {
        while( true ) {
            bo_num = getRandomNumber(min, max);
            if( !numberSet.has( bo_num ) ) {
                break;
            }
        }

        return [...numberSet, bo_num];
    }

    return [...numberSet];
}

const result =  makeLottoNumber( setting );
result.sort( (a,b) => {return a - b} ).forEach( function( v ) {
   console.log(v);
});

보너스 번호 따로 구분은 생략 했습니다.

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
김도영님의 프로필 이미지
김도영

작성한 질문수

질문하기