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

E1003_점검01_문제

점검

<script> /* [문제] 철수는 무궁화 꽃이 피었습니다 게임을 하고 있습니다. 민수는 술래, 철수는 선수입니다. 게임의 규칙은 다음과 같습니다. (1) 게임판은 0번부터 25번까지의 거리로 구성되어 있습니다. (2) 철수는 0번 위치에서 출발합니다. (3) 철수는 매 턴 1부터 4 사이의 랜덤 숫자를 뽑아, 해당 숫자만큼 앞으로 이동합니다. (4) 이동 거리를 계속 누적하여 합계가 25 이상이 되면 철수의 승리로 게임이 종료됩니다. (5) 민수는 매 턴 3부터 5 사이의 랜덤 숫자를 뽑습니다. (6) 철수가 뽑은 숫자가 민수보다 큰 경우, 움직이다가 들킨 것으로 간주되어 패배합니다. (7) 10턴 이내에 25 이상에 도달하지 못하면 시간 초과로 패배합니다. 철수가 게임을 진행하는 동안의 이동 경로를 모두 출력하시오. */ /* [출력예시] 철수가 3칸 이동했다 = 3 b = 3 철수가 3칸 이동했다 = 6 b = 4 철수가 2칸 이동했다 = 8 b = 4 철수가 2칸 이동했다 = 10 b = 5 철수가 1칸 이동했다 = 11 b = 5 철수가 2칸 이동했다 = 13 b = 5 철수가 2칸 이동했다 = 15 b = 4 철수가 1칸 이동했다 = 16 b = 3 철수가 4칸 이동했다 = 20 b = 4 철수가 2칸 이동했다 = 22 b = 3 시간 초과되어 패배하였다. [출력예시] 철수가 4칸 이동했다 = 4 b = 5 철수가 2칸 이동했다 = 6 b = 3 철수가 4칸 이동했다 = 10 b = 3 철수가 움직여서 패배하였다. [출력예시] 철수가 2칸 이동했다 = 2 b = 4 철수가 4칸 이동했다 = 6 b = 5 철수가 2칸 이동했다 = 8 b = 5 철수가 1칸 이동했다 = 9 b = 5 철수가 4칸 이동했다 = 13 b = 5 철수가 3칸 이동했다 = 16 b = 5 철수가 3칸 이동했다 = 19 b = 3 철수가 3칸 이동했다 = 22 b = 3 철수가 1칸 이동했다 = 23 b = 5 철수가 2칸 이동했다 = 25 철수 승리! */ </script>
HTML
복사

정답

<script> /* [문제] 철수는 무궁화 꽃이 피었습니다 게임을 하고 있습니다. 민수는 술래, 철수는 선수입니다. 게임의 규칙은 다음과 같습니다. (1) 게임판은 0번부터 25번까지의 거리로 구성되어 있습니다. (2) 철수는 0번 위치에서 출발합니다. (3) 철수는 매 턴 1부터 4 사이의 랜덤 숫자를 뽑아, 해당 숫자만큼 앞으로 이동합니다. (4) 이동 거리를 계속 누적하여 합계가 25 이상이 되면 철수의 승리로 게임이 종료됩니다. (5) 민수는 매 턴 3부터 5 사이의 랜덤 숫자를 뽑습니다. (6) 철수가 뽑은 숫자가 민수보다 큰 경우, 움직이다가 들킨 것으로 간주되어 패배합니다. (7) 10턴 이내에 25 이상에 도달하지 못하면 시간 초과로 패배합니다. 철수가 게임을 진행하는 동안의 이동 경로를 모두 출력하시오. */ /* [출력예시] 철수가 3칸 이동했다 = 3 b = 3 철수가 3칸 이동했다 = 6 b = 4 철수가 2칸 이동했다 = 8 b = 4 철수가 2칸 이동했다 = 10 b = 5 철수가 1칸 이동했다 = 11 b = 5 철수가 2칸 이동했다 = 13 b = 5 철수가 2칸 이동했다 = 15 b = 4 철수가 1칸 이동했다 = 16 b = 3 철수가 4칸 이동했다 = 20 b = 4 철수가 2칸 이동했다 = 22 b = 3 시간 초과되어 패배하였다. [출력예시] 철수가 4칸 이동했다 = 4 b = 5 철수가 2칸 이동했다 = 6 b = 3 철수가 4칸 이동했다 = 10 b = 3 철수가 움직여서 패배하였다. [출력예시] 철수가 2칸 이동했다 = 2 b = 4 철수가 4칸 이동했다 = 6 b = 5 철수가 2칸 이동했다 = 8 b = 5 철수가 1칸 이동했다 = 9 b = 5 철수가 4칸 이동했다 = 13 b = 5 철수가 3칸 이동했다 = 16 b = 5 철수가 3칸 이동했다 = 19 b = 3 철수가 3칸 이동했다 = 22 b = 3 철수가 1칸 이동했다 = 23 b = 5 철수가 2칸 이동했다 = 25 철수 승리! */ let a = 0; for(let i=0; i<10; i++) { let r = Math.floor(Math.random() * 4) + 1; a += r; document.write("철수가 ", r, "칸 이동했다 = ", a, "<br>"); if(a >= 25) { document.write("철수 승리!"); break; } let b = Math.floor(Math.random() * 3) + 3; document.write("b = ", b, "<br>"); if(r > b) { document.write("철수가 움직여서 패배하였다."); break; } if(i == 9) { document.write("시간 초과되어 패배하였다."); break; } } </script>
HTML
복사