도전:
비어 있지 않은 정수 목록이 제공되면 다음 형식의 튜플 목록을 반환하십시오. 첫 번째 목록의 각 요소로 시작하는 첫 번째 목록 튜플과 그 이후의 모든 목록의 첫 번째 요소가 이어 지므로 i 번째 튜플은이어야합니다 [ith element of first list, first element of second list, ... , first element of last list]. 예를 들면 다음과 같습니다.
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] => [[1, 4, 7], [2, 4, 7], [3, 4, 7], ...
그런 다음 형식의 튜플을 수행하십시오. [last element of first list, ith element of second list, first element of third list, ..., first element of last list]이 예에서는 다음과 같습니다.
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] => ..., [3, 4, 7], [3, 5, 7], [3, 6, 7], ...
다음에 도달 할 때까지 나머지 각 목록으로 계속 진행하십시오 [last element of first list, ..., last element of second to last list, ith element of last list].
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] => ..., [3, 6, 7], [3, 6, 8], [3, 6, 9]]
전체 출력은 다음과 같습니다.
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] =>
[[1, 4, 7], [2, 4, 7], [3, 4, 7], [3, 5, 7], [3, 6, 7], [3, 6, 8], [3, 6, 9]]
좋은 측정을위한 일부 상용구 :
- 입력이 문자열 목록 또는 양의 정수 목록이되도록하려면 괜찮습니다. 문제는 목록에있는 내용이 아니라 목록 조작에 관한 것입니다.
- 입력 및 출력은 허용되는 형식이 될 수 있습니다 .
- 전체 프로그램 또는 기능이 허용됩니다.
- 표준 허점 은 기본적으로 허용되지 않습니다.
- 이 질문은 코드 골프이므로 바이트 수가 가장 적습니다.
예 :
[] => [[]] (or an error, thanks to ngn for correcting the output in this case)
[[1]] => [[1]]
[[1, 2], [3, 4], [5]] => [[1, 3, 5], [2, 3, 5], [2, 4, 5]]
[[1], [2], [5, 6], [3], [4]] => [[1, 2, 5, 3, 4], [1, 2, 6, 3, 4]]
[[1, 2, 3], [4, 5]] => [[1, 4], [2, 4], [3, 4], [3, 5]]
[[1, 2, 3], []] => unspecified behavior (can be an error)
[[3, 13, 6], [9, 2, 4], [5, 10, 8], [12, 1, 11], [7, 14]] =>
[[3, 9, 5, 12, 7], [13, 9, 5, 12, 7], [6, 9, 5, 12, 7], [6, 2, 5, 12, 7],
[6, 4, 5, 12, 7], [6, 4, 10, 12, 7], [6, 4, 8, 12, 7], [6, 4, 8, 1, 7],
[6, 4, 8, 11, 7], [6, 4, 8, 11, 14]]
[[16, 8, 4, 14, 6, 7, 10, 15], [11, 1, 12, 2, 19, 18, 9, 3], [13, 5, 17]] =>
[[16, 11, 13], [8, 11, 13], [4, 11, 13], [14, 11, 13], [6, 11, 13],
[7, 11, 13], [10, 11, 13], [15, 11, 13], [15, 1, 13], [15, 12, 13], [15, 2, 13],
[15, 19, 13], [15, 18, 13], [15, 9, 13], [15, 3, 13], [15, 3, 5], [15, 3, 17]]
더 나은 타이틀을 가진 사람이 있으면 알려주세요.
[[]]각 하위 목록에서 하나의 항목이있는 단일 빈 튜플이 있기 때문입니다. 아마도 프로그램이 이것을 올바르게 출력하도록 요구하는 것은 너무 성가신 일이므로 필요하지 않다고 말할 것입니다.
[]엄격하게, 비어 있지 않은리스트의 빈 목록을 말하고,하지만 출력 사이의 모호 []하고 [[]]그것을 허용 입력의 경우. ( "첫 번째 목록의 각 요소로 시작하는 첫 번째 목록 튜플 ..."-첫 번째 목록이 없으므로 완료됩니다-> [])
[]되어야한다고 확신 한다 [[]]. 예를 들어, 출력 튜플의 수 sum(inner list lengths) - length of outer list + 1는 빈 경우에 제공 1되는 길이이며 길이는 [[]]아니지만 길이입니다 []. 이것은 약간의 사소한 문제이지만 ...
[] => []정말로[] => [[]]그래야만하는 이유 가 있지만 그 이유를 설명 할 단어를 찾을 수 없습니다.