트랙
/
CoffeeScript
CoffeeScript
/
연습 문제
/
틱택토의 상태
틱택토의 상태

틱택토의 상태

쉬움

지침

이 연습 문제에서는 틱택토 게임의 상태를 판별하는 프로그램을 구현해요. (이 게임은 "noughts and crosses" 또는 "Xs and Os"라고도 해요.)

게임은 3×3 격자에서 진행돼요. 플레이어는 번갈아 가며 격자에 X와 O를 놓아요. 게임은 한 플레이어가 표시 세 개를 가로, 세로, 또는 대각선으로 나란히 놓아서 이기거나, 격자가 모두 채워지면 끝나요.

이 연습 문제에서는 X가 먼저 시작한다고 가정해요.

주어진 게임이 어떤 상태인지 판별하는 것은 여러분의 몫이에요.

가능한 게임 상태는 세 가지예요:

  • 게임이 ongoing이에요.
  • 게임이 draw로 끝났어요.
  • 게임이 win으로 끝났어요.

주어진 게임판이 유효하지 않으면 적절한 오류를 발생시켜요.

게임판이 다음 조건에 해당하면 유효하지 않아요:

  • 올바른 순서로 수를 두었을 때 나올 수 없는 게임판인 경우 (X가 먼저 시작한다는 걸 기억해요).
  • 게임이 이미 끝난 이후에도 계속 둔 경우.

예시

진행 중인 게임

   |   |
 X |   |
___|___|___
   |   |
   | X | O
___|___|___
   |   |
 O | X |
   |   |

무승부

   |   |
 X | O | X
___|___|___
   |   |
 X | X | O
___|___|___
   |   |
 O | X | O
   |   |

승리

   |   |
 X | X | X
___|___|___
   |   |
   | O | O
___|___|___
   |   |
   |   |
   |   |

유효하지 않은 경우

턴 순서가 잘못된 경우
   |   |
 O | O | X
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
승리한 뒤에도 계속 진행한 경우
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
CoffeeScript Exercism

틱택토의 상태 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 CoffeeScript 트랙을 연습 문제 97개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.