도전:
양의 정수가 주어지면 적어도 두 번 발생하는 가장 긴 한 자리 수의 하위 시퀀스를 출력하고 다른 숫자의 경계 (또는 정수의 시작 / 끝)를 갖습니다.
예를 들면 :
입력 : 7888885466662716666
한 자릿수의 가장 긴 하위 시퀀스 는 길이가 5 인 88888
( 7[88888]5466662716666
)입니다. 그러나이 하위 시퀀스는 정수에서 한 번만 발생합니다.
대신 입력 결과 는 (적어도) 두 번 발생하므로 ( ) 7888885466662716666
이어야합니다 .6666
78888854[6666]271[6666]
도전 규칙 :
- 서브 시퀀스 길이는 발생 횟수보다 우선합니다. (즉, input을 사용
8888858888866656665666
하면88888
([88888]5[88888]66656665666
; length 5, 두 번 발생)가 아닌666
(88888588888[666]5[666]5[666]
; length 3, 세 번 발생) 출력합니다. - 여러 하위 시퀀스의 길이가 같으면 발생 횟수가 가장 큰 시퀀스를 출력합니다. 즉, input을 사용
3331113331119111
하면111
(333[111]333[111]9[111]
; length 3, 세 번 발생) 출력 하지 않고333
([333]111[333]1119111
; length 3도 두 번 발생) - 여러 서브 시퀀스의 발생 횟수와 길이가 같으면 그 중 하나 또는 전부 (순서대로)를 출력 할 수 있습니다. 즉, input
777333777333
을 사용하면 가능한 출력은 다음과 같습니다777
.;333
;[777, 333]
; 또는[333, 777]
. - 하위 시퀀스에는 다른 숫자의 경계 (또는 정수의 시작 / 끝)가 있어야합니다. 즉, 입력
122222233433
결과는33
(1222222[33]4[33]
; 길이 2, 두 번 발생 함)이 아닌222
(1[222][222]33433
길이 3은 둘 다 유효하지 않은 경우 두 번 발생 함).- 이것은 발생 카운터로 계산되는 모든 숫자에 적용됩니다. 즉, 입력
811774177781382
결과는8
([8]117741777[8]13[8]2
; 길이 1, 세 번 발생)이며77
(811[77]41[77]781382
/811[77]417[77]81382
; 길이 2, 하나의 무효로 두 번 발생) 또는1
(8[1][1]774[1]7778[1]382
; 길이 1, 두 번의 무효로 네 번 발생)입니다.
- 이것은 발생 카운터로 계산되는 모든 숫자에 적용됩니다. 즉, 입력
- 입력에 숫자가 포함되지 않는다고 가정 할 수 있습니다
0
(와 일치[1-9]+
). (이것은 대부분의 언어가 기본적으로 출력 되는10002000
output 과 같은 테스트 사례를 처리하지 않아도됩니다 .)000
0
- 입력에 항상 하나 이상의 유효한 출력이 포함되어 있다고 가정 할 수 있습니다.
- I / O는 유연합니다. 숫자 / 바이트 / 문자의 목록 / 배열 / 스트림이거나 단일 정수 대신 문자열 일 수 있습니다.
일반 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하지 마십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 리턴 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 답변에 대한 설명을 추가하는 것이 좋습니다.
테스트 사례 :
Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6]
Output: 6666 / [6,6,6,6]
Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1]
Output: 111 / [1,1,1]
Input: 777333777333 / [7,7,7,3,3,3,7,7,7,3,3,3]
Possible outputs: 777; 333; [777,333]; [333;777] / [7,7,7]; [3,3,3]; [[7,7,7],[3,3,3]]; [[3,3,3],[7,7,7]]
Input: 122222233433 / [1,2,2,2,2,2,2,3,3,4,3,3]
Output: 33 / [3,3]
Input: 811774177781382 / [8,1,1,7,7,4,1,7,7,7,8,1,3,8,2]
Output: 8 / [8]
Input: 555153333551 / [5,5,5,1,5,3,3,3,3,5,5,1]
Output: 1 / [1]
Input: 12321 / [1,2,3,2,1]
Possible outputs: 1; 2; [1,2]; [2,1] / [1]; [2]; [[1],[2]]; [[2],[1]]
Input: 944949949494999494 / [9,4,4,9,4,9,9,4,9,4,9,4,9,9,9,4,9,4]
Output: 4 / [4]
Input: 8888858888866656665666 / [8,8,8,8,8,5,8,8,8,8,8,6,6,6,5,6,6,6,5,6,6,6]
Output: 88888 / [8,8,8,8,8]
Input: 1112221112221111 / [1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1]
Output: 111; 222; [111,222]; [222,111] / [1,1,1]; [2,2,2]; [[1,1,1],[2,2,2]]; [[2,2,2],[1,1,1]]
Input: 911133111339339339339339 / [9,1,1,1,3,3,1,1,1,3,3,9,3,3,9,3,3,9,3,3,9,3,3,9]
Output: 111 / [1,1,1]
222
다른 정수에 묶여있을 때만 큼 여러 번 발생하기 때문에 어쨌든 내 의견으로는 승자 중 하나 일 것입니다 . 우리는의 하위 문자열 인 발생을 계산해서는 안된다고 생각합니다 1111
. 실제로 OP를 기다리는 것이 좋습니다.
1112221112221111
하위 시퀀스와 개수는 다음과 같습니다 1111 (1)
. 111 (2)
,, 222 (2)
. 우리는 단지 두번 이상에서 발생하는 시퀀스를 출력하기 때문에, 출력 중 하나 일 수있다 : 111
, 222
, [111,222]
, [222,111]
. 기본적으로 (. 좀 더 자세한 내용은 네 번째 규칙 참조) 1111
오직 같은 계산합니다 1111
, 그리고 같은 1
과 111
또는 11
과 11
. 테스트 사례를 추가하지만 출력은 111
및 중 하나 또는 둘 다입니다 222
.
8888858888866656665666
. 문제를 올바르게 해석하면 Brachylog 및 05AB1E 솔루션이 모두 실패합니다.