이 질문의 목적을 위해, 카드 한 벌은 다음과 같은 형식으로 구성됩니다.
[
"AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS",
"AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD",
"AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH",
"AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC",
"J", "J"
]
카드는 항상 값으로 포맷 된 다음 정장이 뒤 따릅니다. 예를 들어 AS
스페이드 에이스입니다. 두 개의 단일 J는 조커입니다. 이 카드 덱을 섞고 싶지만 셔플은 Superb ™이어야합니다.
Superb Shuffle ™은 다음 중 하나입니다.
- 같은 수트의 카드 두 장 (조커 제외)이 인접 해 있지 않습니다.
- 동일한 값 중 하나에 인접한 카드 (조커 제외)가 없습니다.
- 카드 (조커 제외)가 인접한 값 중 하나에 인접하지 않습니다 (A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A. Ace는 2 또는 King과 인접 할 수 없습니다.
- 조커는 어느 위치 에나있을 수 있습니다.
- Superb Shuffle ™의 정의는 카드를 섞을 때마다 순서가 다를 필요 가 없습니다 . 매우 훌륭하지는 않지만 Superb ™입니다.
Superb ™이기 때문입니다.
예를 들면 다음과 같습니다.
[
"AS", "5D", "9H", "KC", "2D", "6H", "10C", "QS", "3H", "7C", "9S",
"KD", "4C", "6S", "10D", "AC", "3S", "7D", "JH", "J", "4D", "8H",
"QC", "AD", "5H", "9C", "JS", "2H", "6C", "8S", "QD", "3C", "5S",
"9D", "KH", "2S", "6D", "10H", "J", "3D", "7H", "JC", "KS", "4H",
"8C", "10S", "AH", "5C", "7S", "JD", "2C", "4S", "8D", "QH"
]
도전 과제 :
- 멋진 셔플을 실행하는 코드 작성
- 모든 언어를 사용하십시오.
- 입력은 다음 중 하나 일 수 있습니다 .
- 배열 또는 다른 목록 구조 와 동일한 순서로 위에서 설명한 카드 데크 .
- 입력이 없습니다 (코드는 순서대로 카드 덱을 생성합니다)
- 출력은 위에서 설명한 Superb Shuffle ™의 전체 카드 데크 여야합니다.
- 최소 바이트 수로 Superb Shuffle ™을 수행하십시오.
- Try It Online 과 같은 온라인 통역사 링크 가 선호되지만 선택 사항입니다.
행복한 셔플!
T
대신에 대체 할 수 있습니까 10
?