영상
문제
<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
복사