Pickomino 게임 에는 테이블 중앙에 여러 개의 타일이 있으며 각 타일에는 양의 정수가 다릅니다. 매 턴마다 플레이어는 특정 방식으로 주사위를 굴려서 음수가 아닌 정수인 점수를 얻습니다.
이제 플레이어는 여전히 점수보다 낮거나 같은 가장 높은 숫자의 타일을 가져 와서 타일을 중간에서 제거하고 스택에 추가합니다. 중간에있는 모든 숫자가 플레이어의 점수보다 높기 때문에 이것이 불가능한 경우 플레이어는 스택에서 최상위 타일을 잃습니다 (최근에 추가됨). 플레이어에 남은 타일이 없으면 아무 일도 일어나지 않습니다.
도전
자신을 상대로 게임을하는 플레이어를 시뮬레이션합니다. 중간에 타일 목록과 플레이어가 얻은 점수 목록을 얻습니다. 모든 턴이 평가 된 후 플레이어의 타일 목록을 반환합니다.
도전 규칙
- 타일이있는 목록이 정렬되어 있고 정수가 두 번 포함되어 있지 않다고 가정 할 수 있습니다.
- 원하는 순서대로 입력 목록을 모두 가져올 수 있습니다
- 출력은 스택에서 타일 순서를 유지해야하지만 목록이 위에서 아래로 정렬되는지 아래에서 위로 정렬되는지를 결정할 수 있습니다.
일반 규칙
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙 은 기본 I / O 규칙 을 사용 하여 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 (예 : TIO ) 링크를 추가하십시오 .
- 답변을위한 설명을 추가하는 것이 좋습니다.
예
(6 번째 테스트 케이스에서 가져옴)
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 22, 22, 23, 21, 24, 0, 22]
첫 번째 점수는 22이므로 중간 <= 22에서 가장 높은 타일을 가져옵니다 (22 자체).
Middle: [21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22]
Remaining scores: [22, 22, 23, 21, 24, 0, 22]
다음 점수는 22입니다. <= 22 중간에서 가장 높은 타일을 가져갑니다. 22가 이미 사용 되었기 때문에 플레이어는 21을 가져야합니다.
Middle: [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 21]
Remaining scores: [22, 23, 21, 24, 0, 22]
다음 점수는 22이지만 모든 수 <= 22가 이미 사용되었습니다. 따라서 플레이어는 스택 (21)의 최상위 타일을 잃어 중간으로 돌아갑니다.
Middle: [21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22]
Remaining scores: [23, 21, 24, 0, 22]
다음 점수는 23, 21, 24이므로 플레이어는이 타일을 중간에서 가져옵니다.
Middle: [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 23, 21, 24]
Remaining scores: [0, 22]
플레이어는 파열하여 0 점을 얻습니다. 따라서 숫자 24의 스택 (가장 위에있는 타일)이 가운데로 반환됩니다.
Middle: [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 23, 21]
Remaining scores: [22]
마지막 점수는 22이지만 모든 타일 <= 22가 이미 사용되었으므로 플레이어는 스택에서 최상위 타일을 잃습니다 (21).
Middle: [21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Final Stack and Output: [22, 23]
테스트 사례
(출력 목록에서 가장 위에있는 타일)
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [26, 30, 21]
Output: [26, 30, 21]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [35, 35, 36, 36]
Output: [35, 34, 36, 33]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 17, 23, 19, 23]
Output: [23]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: []
Output: []
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 17, 23, 19, 23, 0]
Output: []
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 22, 22, 23, 21, 24, 0, 22]
Output: [22, 23]
Tiles: [1, 5, 9, 13, 17, 21, 26]
Scores: [6, 10, 23, 23, 23, 1, 0, 15]
Output: [5, 9, 21, 17, 13, 1]
Tiles: []
Scores: [4, 6, 1, 6]
Output: []