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

E1003_예제01_문제

예제

<script> /* [문제] 철수와 민수는 베스킨라빈스 31 게임을 하고 있습니다. 철수와 민수는 1부터 3 사이의 숫자 중 하나를 번갈아 가며 선택합니다. 선택한 숫자는 이전까지의 누적 합에 더해집니다. 누적 합이 31 이상이 되는 순간, 그 숫자를 선택한 사람이 패배합니다. 게임이 종료될 때까지의 철수와 민수의 숫자 선택 과정과 누적 합의 변화를 모두 출력하시오. */ /* [출력예시] player1 = 2 누적 = 2 player2 = 3 누적 = 5 player1 = 3 누적 = 8 player2 = 2 누적 = 10 player1 = 1 누적 = 11 player2 = 3 누적 = 14 player1 = 2 누적 = 16 player2 = 3 누적 = 19 player1 = 3 누적 = 22 player2 = 1 누적 = 23 player1 = 2 누적 = 25 player2 = 2 누적 = 27 player1 = 2 누적 = 29 player2 = 1 누적 = 30 player1 = 1 누적 = 31 player1 패배 */ </script>
HTML
복사

정답

<script> /* [문제] 철수와 민수는 베스킨라빈스 31 게임을 하고 있습니다. 철수와 민수는 1부터 3 사이의 숫자 중 하나를 번갈아 가며 선택합니다. 선택한 숫자는 이전까지의 누적 합에 더해집니다. 누적 합이 31 이상이 되는 순간, 그 숫자를 선택한 사람이 패배합니다. 게임이 종료될 때까지의 철수와 민수의 숫자 선택 과정과 누적 합의 변화를 모두 출력하시오. */ /* [출력예시] player1 = 2 누적 = 2 player2 = 3 누적 = 5 player1 = 3 누적 = 8 player2 = 2 누적 = 10 player1 = 1 누적 = 11 player2 = 3 누적 = 14 player1 = 2 누적 = 16 player2 = 3 누적 = 19 player1 = 3 누적 = 22 player2 = 1 누적 = 23 player1 = 2 누적 = 25 player2 = 2 누적 = 27 player1 = 2 누적 = 29 player2 = 1 누적 = 30 player1 = 1 누적 = 31 player1 패배 */ let state = true; let total = 0; while(true) { let r = Math.floor(Math.random() * 3) + 1; total += r; if(state) { document.write("player1 = ", r,"<br>"); } else { document.write("player2 = ", r,"<br>"); } document.write("누적 = ", total,"<br>"); if(total >= 31) { if(state) { document.write("player1 패배"); } else { document.write("player2 패배"); } break; } state = !state; } </script>
HTML
복사