Search

이차반복문4_문제07_숫자야구

대분류
STEP07 이차반복문
문제 난이도
LV06
소분류
이차반복문4_문제

영상

문제

<script> /* [문제] [1] com리스트에 0~9사이의 랜덤 숫자 3개를 저장하되 중복 값이 없어야 한다. [2] me리스트에 0~9사이의 랜덤 숫자 3개를 저장하되 중복 값이 없어야 한다. [3] com과 me 를 비교해서 숫자가 같고 자리도 같으면 strike + 1 [4] com과 me 를 비교해서 숫자가 같고 자리가 틀리면 ball + 1 [5] 사용자에게 strike와 ball 개수를 출력해 보여준다. 계속 반복하면서 strike가 3이 되면 종료한다. */ let com = [0, 0, 0]; let me = [0, 0, 0]; </script>
Java
복사

해설

<script> /* [문제] [1] com리스트에 0~9사이의 랜덤 숫자 3개를 저장하되 중복 값이 없어야 한다. [2] me리스트에 0~9사이의 랜덤 숫자 3개를 저장하되 중복 값이 없어야 한다. [3] com과 me 를 비교해서 숫자가 같고 자리도 같으면 strike + 1 [4] com과 me 를 비교해서 숫자가 같고 자리가 틀리면 ball + 1 [5] 사용자에게 strike와 ball 개수를 출력해 보여준다. 계속 반복하면서 strike가 3이 되면 종료한다. */ let com = [0, 0, 0]; let me = [0, 0, 0]; // com배열 중복숫자 금지 let count = 0; while(true) { let num = Math.floor(Math.random() * 10); let check = false; for(let i=0; i<count; i++) { if(num == com[i]) { check = true; break; } } if(check == false) { com[count] = num; count += 1; } if(count == 3) { break; } } document.write("com = " + com + "<br>"); // 게임 시작 while(true) { // me배열 중복숫자 금지 for(let i=0; i<3; i++) { let num = Math.floor(Math.random() * 10); let check = false; for(let j=0; j<i; j++) { if(num == me[j]) { check = true; break; } } if(check == false) { me[i] = num; } else { i -= 1; } } document.write("me = " + me + "<br>"); // strike, ball 개수 출력 let strike = 0; let ball = 0; for(let i=0; i<3; i++) { for(let j=0; j<3; j++) { if(com[i] == me[j]) { if(i == j) { strike += 1; } else { ball += 1; } } } } document.write("strike = " + strike + ", ball = " + ball + "<br><br>"); if(strike == 3) { break; } } </script>
Java
복사