예제
<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
복사


