Search

이차배열3_문제07_지렁이

대분류
STEP08 이차배열
문제 난이도
LV07
소분류
이차배열3_문제

영상

문제

<script> /* [문제] 랜덤으로 (1~4)를 저장하고 아래와 같은 경우로 배열에 저장하시오. [정답] r = 1 123 654 789 r = 2 761 852 943 r = 3 987 456 321 r = 4 349 258 167 */ let snake = [ [0, 0, 0], [0, 0, 0], [0, 0, 0] ]; </script>
Java
복사

해설

<script> /* [문제] 랜덤으로 (1~4)를 저장하고 아래와 같은 경우로 배열에 저장하시오. [정답] r = 1 123 654 789 r = 2 761 852 943 r = 3 987 456 321 r = 4 349 258 167 */ let snake = [ [0, 0, 0], [0, 0, 0], [0, 0, 0] ]; let r = Math.floor(Math.random() * 4) + 1; document.write("r = " + r + "<br>"); if(r == 1) { /* 123 00 01 02 654 12 11 10 789 20 21 22 */ let num = 1; let turn = true; for(let i=0; i<3; i++) { for(let j=0; j<3; j++) { if(turn) { snake[i][j] = num; } else { snake[i][2 - j] = num; } num += 1; } turn = !turn; } } else if(r == 2) { /* 761 02 12 22 852 21 11 01 943 00 10 20 */ let num = 1; let turn = true; for(let i=0; i<3; i++) { for(let j=0; j<3; j++) { if(turn) { snake[j][2 - i] = num; } else { snake[2 - j][2 - i] = num; } num += 1; } turn = !turn; } } else if(r == 3) { /* 987 22 21 20 456 10 11 12 321 02 01 00 */ let num = 1; let turn = true; for(let i=0; i<3; i++) { for(let j=0; j<3; j++) { if(turn) { snake[2 - i][2 - j] = num; } else { snake[2 - i][j] = num; } num += 1; } turn = !turn; } } else if(r == 4) { /* 349 20 10 00 258 01 11 21 167 22 12 02 */ let num = 1; let turn = true; for(let i=0; i<3; i++) { for(let j=0; j<3; j++) { if(turn) { snake[2 - j][i] = num; } else { snake[j][i] = num; } num += 1; } turn = !turn; } } for(let i=0; i<3; i++) { document.write(snake[i] + "<br>"); } </script>
Java
복사