자바스크립트
home
2025 자바스크립트 초급 1500제
home

E0402_점검02_문제

점검

<script> /* [문제] 철수의 시작 위치는 x = 0, y = 0입니다. 여기서 x는 동서 방향, y는 남북 방향을 나타냅니다. 1부터 4까지의 랜덤 숫자를 5번 생성하며, 각 숫자는 철수의 이동 방향을 의미합니다. 4 는 북쪽(y + 1) 3 은 동쪽(x + 1) 2 는 남쪽(y - 1) 1 은 서쪽(x - 1) 철수는 각 숫자에 따라 해당 방향으로 1칸씩 이동하며, 5번 이동한 후 최종 위치 x와 y 를 출력하시오. 출력예시를 참고하여 출력하시오. */ /* [출력예시] x=0 y=0 s=3 x=1 y=0 s=3 x=2 y=0 s=2 x=2 y=-1 s=3 x=3 y=-1 s=3 x=4 y=-1 */ let x = 0; let y = 0; </script>
HTML
복사

정답

<script> /* [문제] 철수의 시작 위치는 x = 0, y = 0입니다. 여기서 x는 동서 방향, y는 남북 방향을 나타냅니다. 1부터 4까지의 랜덤 숫자를 5번 생성하며, 각 숫자는 철수의 이동 방향을 의미합니다. 4 는 북쪽(y + 1) 3 은 동쪽(x + 1) 2 는 남쪽(y - 1) 1 은 서쪽(x - 1) 철수는 각 숫자에 따라 해당 방향으로 1칸씩 이동하며, 5번 이동한 후 최종 위치 x와 y 를 출력하시오. 출력예시를 참고하여 출력하시오. */ /* [출력예시] x=0 y=0 s=3 x=1 y=0 s=3 x=2 y=0 s=2 x=2 y=-1 s=3 x=3 y=-1 s=3 x=4 y=-1 */ // [for문] let x = 0; let y = 0; document.write("x=", x, " y=", y, "<br>"); for(let i = 1; i <= 5; i++) { let s = Math.floor(Math.random() * 4) + 1; if(s == 4) { y += 1; } else if(s == 3) { x += 1; } else if(s == 2) { y -= 1; } else if(s == 1) { x -= 1; } document.write("s=", s, " x=", x, " y=", y, "<br>"); } document.write("<br>"); // [for문] let x2 = 0; let y2 = 0; document.write("x=", x2, " y=", y2, "<br>"); let i = 1; while(i <= 5) { let s = Math.floor(Math.random() * 4) + 1; if(s == 4) { y2 += 1; } else if(s == 3) { x2 += 1; } else if(s == 2) { y2 -= 1; } else if(s == 1) { x2 -= 1; } document.write("s=", s, " x=", x2, " y=", y2, "<br>"); i += 1; } </script>
HTML
복사