-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
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>
답변을 작성해보세요.
0
답변 1