๐Ÿ™‚LOTTO ๋ฒˆํ˜ธ ์ถ”์ฒจ๊ธฐ

An ji yoonยท2023๋…„ 5์›” 2์ผ
0

JS ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
1/3

js๋ฏธ๋‹ˆ๊ฒŒ์ž„ ํ”„๋กœ์ ํŠธ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•œ ๋กœ๋˜ ๋ฒˆํ˜ธ ์ถ”์ฒจ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

๋กœ๋˜ ๋ฒˆํ˜ธ ์ถ”์ฒจ๊ธฐ์˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ๋ฐฉ์‹์€ 1 ~ 45์˜ ๋ฒ”์œ„์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ์ˆซ์ž๋ฅผ ๋žœ๋คํ•˜๊ฒŒ 6๊ฐœ๋ฅผ ๋ฝ‘์•„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด ์ฃผ๋Š”๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ ์•Œ์•„์•ผํ•  ๋ช‡๊ฐ€์ง€ ํ‚ค์›Œ๋“œ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€์•ผํ•œ๋‹ค.



โœ๏ธ์ฃผ์š” ๊ฐœ๋…

  • math.random() : 0๋ถ€ํ„ฐ 1์‚ฌ์ด์˜ ๋‚œ์ˆ˜(๋žœ๋คํ•œ ์ˆ˜)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.(1์€ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.)

  • Math.floor() : ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฐ ์ •์ˆ˜๋กœ ๋‚ด๋ฆผํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

  • parseInt() : ๋ฌธ์ž์—ด์„ ์ˆซ์žํ˜•์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๋งค์„œ๋“œ์ด๋‹ค.
    ์ •์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ ๋–„๋ฌธ์— ๊ดœ์ฐฎ์„๊ฑฐ ๊ฐ™๊ธดํ•œ๋ฐ ๊ตณ์ด...?

  • includes() : ๋ฐฐ์—ด์ด ํŠน์ • ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
    includes() ๋ฉ”์†Œ๋“œ๋Š” ๋ถˆ๋ฆฌ์–ธ(Boolean) ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค๋ฉด true, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ–ฅ๏ธ๊ธฐ๋Šฅ๊ฐœ๋ฐœํ•˜๊ธฐ

โš ๏ธ์ฒซ๋ฒˆ์งธ ์‹œ๋„

์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋นˆ๋ฐฐ์—ด์„ ๊ฑฐ๋ฅผ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค..

 var lottoArr = []; // ๋นˆ๋ฐฐ์—ด ์ƒ์„ฑ

    for(let i = 0; i < 6; i++){ // 6๋ณด๋‹ค ์ž‘์„๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณต
        
        var num = Math.random() * 45 + 1; // 1~45 ์‚ฌ์ด์˜ ์‹ค์ˆ˜ ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ
        var parse = parseInt(num); // ์‹ค์ˆ˜๋ฅผ ์ •์ˆ˜๋กœ ๋ฐ”๊ฟ”์คŒ

        lottoArr.forEach((data)=>{
            if(parse == data){
                parse = parseInt(num);
            }
        // ๋ฐ›์•„์˜จ ๋ฐฐ์—ด ์ค‘ ์ค‘๋ณต์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉด ์ˆ˜๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑ
        });
        lottoArr.push(parse); // ๋ฐฐ์—ด์— ์ถ”๊ฐ€
    }
    console.log(lottoArr);
    document.write('์ด๋ฒˆ์ฃผ ๋กœ๋˜ ๋ฒˆํ˜ธ๋Š” : ' + lottoArr);

โš ๏ธ๋‘๋ฒˆ์งธ ์‹œ๋„

์ด ์ฝ”๋“œ์—์„œ๋Š” ๋นˆ๋ฐฐ์—ด ๋‘๊ฐœ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ฒซ๋ฒˆ์งธ ๋ฐฐ์—ด lottoArr ์— 1 ~ 45 ์‚ฌ์ด์˜ ์ •์ˆ˜ ๋‚œ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์™„์„ฑ๋œ ๋ฐฐ์—ดlottoArr์„ forEach ๋ฌธ์„ ํ™œ์šฉํ•ด ๋ชจ๋“  ์ธ์ž๊ฐ’์„ ๋ฐ›์•„์™€, ์ค‘๋ณต์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด newArr์— ๋‹ค์‹œ ํ• ๋‹นํ•˜๋Š” ์‹์œผ๋กœ ํ–ˆ๋Š”๋ฐ...

๋ฌธ์ œ๋Š” ์ค‘๋ณต์ˆ˜๋Š” ํ™•์‹คํ•˜๊ฒŒ ์ œ์™ธํ• ์ˆ˜์žˆ๋Š”๋ฐ..

์ค‘๋ณต์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐฐ์—ด๊ฐ’์ด 5๊ฐœ๊ฐ€ ๋œ๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

	var lottoArr = [];
    var newArr = [];
	// ๋นˆ ๋ฐฐ์—ด ๋‘๊ฐœ ์ƒ์„ฑ

    for(let i = 0; i < 6; i++){
        var num = parseInt(Math.random() * 45 + 1);
      	// 1~45์‚ฌ์ด์˜ ์ •์ˆ˜์ƒ์„ฑ
        lottoArr.push(num); // lottoArr ๋ฐฐ์—ด์— ์ถ”๊ฐ€
    }

    lottoArr.forEach((data)=>{ 
    // ์ƒ์„ฑ๋œ lottoArr์˜ ์ธ์ž๊ฐ’ data ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค
      
        if(!newArr.includes(data)){
            newArr.push(data);
        // ์ƒˆ๋กœ์šด ๋ฐฐ์—ด newArr ์— lottoArr์—์„œ ๋ฐ›์•„์˜จ ์ธ์ž๊ฐ’์ด ์—†์œผ๋ฉด newArr๋ฐฐ์—ด์— ์ถ”๊ฐ€ ํ•œ๋‹ค.
        // ๋งŒ์•ฝ newArr์— ์ถ”๊ฐ€๋œ data ๊ฐ’์ด ์ค‘๋ณต๋˜๋ฉด ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
        }
    
    });

    newArr.sort((a,b)=> a-b); // ์˜ค๋ฆ„์ฐจ์ˆœ
    console.log(newArr);

โœจ ์„ธ๋ฒˆ์งธ ์‹œ๋„

๋‘๋ฒˆ์งธ ์‹œ๋„์—์„œ์˜ ๋ฌธ์ œ๋Š” ์ค‘๋ณต๊ฐ’ ์ œ๊ฑฐ๋Š” ์„ฑ๊ณตํ–ˆ์ง€๋งŒ ๋ฐฐ์—ด์ด 5๊ฐœ์—์„œ ๋ฉˆ์ถ”๋Š” ์ƒํ™ฉ์ด๋‹ค.

  • for๋ฌธ์€ ์กฐ๊ฑด์ด ๋งŒ์กฑํ• ๋•Œ ๊นŒ์ง€ ์ •ํ•ด์ง„ ํšŸ์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•ด์ค€๋‹ค.
  • while๋ฌธ์€ true์ผ๋•Œ ๊ณ„์† ๋ฐ˜๋ณตํ•ด์ค€๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์˜ ์œ„์˜ ์ƒํ™ฉ์—์„œ for๋ฌธ ๋Œ€์‹  while๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ๊ฑด์ด 6์ผ๋•Œ ๊นŒ์ง€
๋ฐฐ์—ด์„ ์ƒ์„ฑ
ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹คโ€ฆ

  var lottoArr = []; // ๋นˆ๋ฐฐ์—ด ์ƒ์„ฑ

  while(lottoArr.length < 6){
    var num = Math.floor(Math.random() * 45 + 1);
    
    if(!lottoArr.includes(num)){ // lottoArr์— num์ด ์—†์„๋•Œ
      lottoArr.push(num) // num์„ ๋ฐฐ์—ด์— ์ถ”๊ฐ€
    }
  }

  lottoArr.sort((a,b)=> a-b);
  console.log(lottoArr);
  document.write('์ด๋ฒˆ์ฃผ ๋กœ๋˜ ๋ฒˆํ˜ธ๋Š” : ' + lottoArr);

profile
์‹ค์Œ์—์„œ ํ”„์—”๊นŒ์ง€

0๊ฐœ์˜ ๋Œ“๊ธ€