영상
문제
<script>
/*
[문제]
0~4 사이의 랜덤 숫자를 저장해 arr배열에서 그 위치의 값이
최대값인지 검사한다.
만약 최대값이면 그 위치의 값을 0으로 바꾸고,
전부 0이되면 종료한다.
과정을 전부 출력하시오.
[예시]
랜덤 : 3
[11, 87, 42, 0, 24]
랜덤 : 0
[11, 87, 42, 0, 24] <- 최대값이 아니므로 그대로 유지
랜덤 : 1
[11, 0, 42, 100, 24]
...
*/
let arr = [11, 87, 42, 100, 24];
</script>
Java
복사
해설
<script>
/*
[문제]
0~4 사이의 랜덤 숫자를 저장해 arr배열에서 그 위치의 값이
최대값인지 검사한다.
만약 최대값이면 그 위치의 값을 0으로 바꾸고,
전부 0이되면 종료한다.
과정을 전부 출력하시오.
[예시]
랜덤 : 3
[11, 87, 42, 0, 24]
랜덤 : 0
[11, 87, 42, 0, 24] <- 최대값이 아니므로 그대로 유지
랜덤 : 1
[11, 0, 42, 100, 24]
...
*/
let arr = [11, 87, 42, 100, 24];
let count = 0;
while(true) {
let index = Math.floor(Math.random() * arr.length);
document.write("랜덤 = " + index + "<br>");
let maxNum = 0;
let maxIndex = 0;
for(let i=0; i<arr.length; i++) {
if(maxNum < arr[i]) {
maxNum = arr[i];
maxIndex = i;
}
}
if(index == maxIndex) {
arr[index] = 0;
count += 1;
}
document.write(arr + "<br><br>");
if(count == arr.length) {
break;
}
}
</script>
Java
복사