점검
<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
복사


