영상
문제
<script>
/*
[문제]
mine배열 숫자 0의 자리에 숫자를 저장하려 한다.
저장할 숫자는 주변 8방향을 검사 후 9의 개수를 저장해야 한다.
저장 후 mine배열를 출력하시오.
[정답]
[2,9,2],
[9,4,9],
[1,3,9]
*/
let mine = [
[0, 9, 0],
[9, 0, 9],
[0, 0, 9]
];
</script>
Java
복사
해설
<script>
/*
[문제]
mine배열 숫자 0의 자리에 숫자를 저장하려 한다.
저장할 숫자는 주변 8방향을 검사 후 9의 개수를 저장해야 한다.
저장 후 mine배열를 출력하시오.
[정답]
[2,9,2],
[9,4,9],
[1,3,9]
*/
let mine = [
[0, 9, 0],
[9, 0, 9],
[0, 0, 9]
];
/*
00 01 02
10 11 12
20 21 22
*/
for(let i=0; i<mine.length; i++) {
for(let j=0; j<mine[i].length; j++) {
let count = 0;
if(mine[i][j] == 0) {
for(let y=-1; y<=1; y++) {
for(let x=-1; x<=1; x++) {
if(mine.length <= i + y || i + y < 0) {
continue;
}
if(mine.length <= j + x || j + x < 0) {
continue;
}
if(mine[i + y][j + x] == 9) {
count += 1;
}
}
}
mine[i][j] = count;
}
}
}
for(let i=0; i<mine.length; i++) {
document.write(mine[i] + "<br>");
}
</script>
Java
복사