• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Set 사용 안 한 풀이법

21.10.25 15:57 작성 조회수 130

0

set 메서드 사용 안한 풀이법 공유드립니다.

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>로또 추첨기</title>
</head>
<body>
    <div id="result"></div>
    <script>
        const $result = document.querySelector("#result");
        const SETTING = {
        name: "LUCKY LOTTO!",
        count: 6,
        maxNumber: 45
        };

        const $message = document.createElement("div");
        $message.textContent = `${SETTING.name}`;
        $result.appendChild($message);

        function getRandomNumber() {
        // 1~maxNumber 순서대로 숫자 배열 생성
        const numbers = Array(45)
            .fill()
            .map((item, idx) => idx + 1);
        // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45]

        // 순서대로 생성된 1~45 숫자를 섞기
        const randomNum = [];
        while (numbers.length > 0) {
            const random = Math.floor(Math.random() * numbers.length); // 랜덤 인덱스 뽑기
            const tempArray = numbers.splice(random, 1); // 위에서 뽑은 랜덤 인덱스 위치에 있는 numbers의 요소를 뽑아 임시 변수에 담기 (splice는 배열로 반환됨) numbers의 배열 요소 개수가 하나씩 줄어든다.
            const value = tempArray[0]; // 임시 배열(tempArray)에 담긴 값을 변수에 담기
            randomNum.push(value);
        }

        // 숫자 6개 뽑기
        const result = randomNum.slice(0, 7);

        // 7번째 숫자는 보너스
        const bonus = result.slice(6);
        result.pop();

        // 화면에 결과 출력
        for (let i = 0; i < result.length; i++) {
            const $ball = document.createElement("div");
            $ball.className = "ball";
            $ball.textContent = result[i];
            //$ball.textContent = `${SETTING.name} ${result} 보너스 번호: ${bonus}`;
            $result.appendChild($ball);
        }
        const $bonusBall = document.createElement("div");
        $bonusBall.className = "bonusBall";
        $bonusBall.textContent = bonus[0];
        $result.appendChild($bonusBall);
        }
        getRandomNumber();
    </script>
</body>
</html>

답변 1

답변을 작성해보세요.

0

정이든님의 프로필

정이든

2021.10.25

dd