도전:
입력 : 범위 내의 고유 양수 목록입니다 .
출력 : 정수 : 목록이 리플-셔플 된 횟수 . 목록의 경우, 목록이 두 부분으로 분할되고이 부분이 인터리브됨을 의미합니다 (즉, 목록을 [1,2,3,4,5,6,7,8,9,10]
한 번 작성 하면 셔플 셔플 이 발생 하므로이 [1,6,2,7,3,8,4,9,5,10]
문제의 경우 입력 [1,6,2,7,3,8,4,9,5,10]
결과는 1
).
도전 규칙 :
- 목록에 범위의 양의 정수만 포함한다고 가정 할 수 있습니다 (또는 0 색인화 된 입력 목록을 선택하는 경우 ).
- 모든 입력 목록이 유효한 리플 셔플 목록이거나 셔플되지 않은 정렬 된 목록 (이 경우 출력이
0
) 이라고 가정 할 수 있습니다 . - 입력 목록에 3 개 이상의 값이 포함되어 있다고 가정 할 수 있습니다.
단계별 예 :
입력: [1,3,5,7,9,2,4,6,8]
한 번 셔플 해제하면 다음과 같이됩니다. 0 인덱스 항목도 모두 [1,5,9,4,8,3,7,2,6]
먼저 나오고 [1, ,5, ,9, ,4, ,8]
그 다음에 홀수 0 인덱스 항목이 있기 때문 입니다 [ ,3, ,7, ,2, ,6, ]
.
이 목록은 아직 주문되지 않았으므로 계속 진행하십시오.
목록을 다시 섞으면
다음과 같이 됩니다. [1,9,8,7,6,5,4,3,2]
다시 : [1,8,6,4,2,9,7,5,3]
다음과 같이하십시오. [1,6,2,7,3,8,4,9,5]
그리고 마지막으로 : [1,2,3,4,5,6,7,8,9]
순서가 지정된 목록이므로 셔플 링을 해제했습니다.
에 도달하기 위해 원본을 [1,3,5,7,9,2,4,6,8]
5 번 셔플 링하지 않았으므로이 경우 [1,2,3,4,5,6,7,8,9]
출력이 5
됩니다.
일반적인 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙 은 기본 I / O 규칙으로 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트와 링크를 추가하십시오 (예 : TIO ).
- 또한 답변에 대한 설명을 추가하는 것이 좋습니다.
테스트 사례 :
Input Output
[1,2,3] 0
[1,2,3,4,5] 0
[1,3,2] 1
[1,6,2,7,3,8,4,9,5,10] 1
[1,3,5,7,2,4,6] 2
[1,8,6,4,2,9,7,5,3,10] 2
[1,9,8,7,6,5,4,3,2,10] 3
[1,5,9,4,8,3,7,2,6,10] 4
[1,3,5,7,9,2,4,6,8] 5
[1,6,11,5,10,4,9,3,8,2,7] 6
[1,10,19,9,18,8,17,7,16,6,15,5,14,4,13,3,12,2,11,20] 10
[1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20] 17
[1,141,32,172,63,203,94,234,125,16,156,47,187,78,218,109,249,140,31,171,62,202,93,233,124,15,155,46,186,77,217,108,248,139,30,170,61,201,92,232,123,14,154,45,185,76,216,107,247,138,29,169,60,200,91,231,122,13,153,44,184,75,215,106,246,137,28,168,59,199,90,230,121,12,152,43,183,74,214,105,245,136,27,167,58,198,89,229,120,11,151,42,182,73,213,104,244,135,26,166,57,197,88,228,119,10,150,41,181,72,212,103,243,134,25,165,56,196,87,227,118,9,149,40,180,71,211,102,242,133,24,164,55,195,86,226,117,8,148,39,179,70,210,101,241,132,23,163,54,194,85,225,116,7,147,38,178,69,209,100,240,131,22,162,53,193,84,224,115,6,146,37,177,68,208,99,239,130,21,161,52,192,83,223,114,5,145,36,176,67,207,98,238,129,20,160,51,191,82,222,113,4,144,35,175,66,206,97,237,128,19,159,50,190,81,221,112,3,143,34,174,65,205,96,236,127,18,158,49,189,80,220,111,2,142,33,173,64,204,95,235,126,17,157,48,188,79,219,110,250]
45
[1,3,5,7,9,2,4,6,8]
is of length 9, but I will add a few more for lengths 7 and 11 perhaps. EDIT: Added the test cases [1,3,5,7,2,4,6] = 2
(length 7) and [1,6,11,5,10,4,9,3,8,2,7] = 6
(length 11). Hope that helps.
[1,6,2,7,3,8,4,9,5,10]
or [6,1,7,2,8,3,9,4,10,5]
are possible. In my challenge it does mean that the top card will always remain the top card, so it's indeed a bit of a con-trick.. I've never seen someone irl use only riffle-shuffles to shuffle a deck of cards however. Usually they also use other type of shuffles in between. Anyway, it's too late to change the challenge now, so for the sake of this challenge the top card will always remain the top card after a riffle-shuffle.