이것은 나의 첫 번째 질문이므로 의견에 대한 제안은 감사하겠습니다! 감사 ;)
소개
2048 게임 의 가장 일반적인 전략 중 하나 는 결코 스 와이프하지 않는 것입니다 . 이렇게하면 모든 큰 숫자가 맨 위에 배치되고 아래쪽에있는 큰 숫자가 배치됩니다. 따라서이 전략을 올바르게 적용하면 보드는 항상 다음 패턴과 일치합니다.
확인할 패턴 / 작업
제출물은 전체 프로그램 또는 보드가 다음과 같이 설명 될 수있는 경우 진실한 값을 반환하는 함수 여야합니다. 보드의 각 열을 내려 가면 첫 번째 숫자가 열의 가장 높고 두 번째 숫자는 더 작아야합니다. 제 개수와 같거나, 등 좋은 2048 보드 최고 숫자 위에 모두되는 기판으로 정의된다. 이것은 code-golf 이므로 언어 당 가장 짧은 코드 (바이트)가 이깁니다.
I / O
입력은 적절한 방법으로 수행 할 수 있습니다 (예 : 각각 4 개의 숫자를 포함하는 4 개의 배열 배열 또는 16 개의 숫자 배열). 4x4 보드를 나타내는 전체 숫자는 항상 16 개의 숫자입니다 . 출력은 입력의 실제 값이 "좋은 2048 보드"여야하고 그렇지 않은 경우 잘못된 값이어야합니다.
예
진실한 :
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 8 |
|-------------------|
| 4 | | 32 | 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 128| 32 | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
거짓 :
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 16 |
|-------------------|
| 32 | | 128| 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 32| | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
노트
두 번째 거짓 테스트 사례를 살펴보십시오. 어딘가에 빈 값 (또는 0)이 있고 그 뒤에 0이 아닌 마지막 숫자보다 높은 값이 오는 경우에도 다음 값이 잘못되므로 거짓이어야합니다. 0은 0보다 높으므로 유효하지 않습니다.
행운을 빕니다!