기계 또는 물체가 가장 작은 조각으로 분해 되는 분해도 를 좋아하지 않습니까?
그것을 문자열로하자!
도전
프로그램이나 기능을 작성하십시오
- 인쇄 가능한 ASCII 문자 만 포함하는 문자열을 입력합니다 .
- 문자열을 공백이 아닌 문자 그룹 ( 문자열 의 "조각")으로 분리합니다.
- 그룹 사이에 구분 기호를 사용 하여 편리한 형식으로 해당 그룹을 출력 합니다 .
예를 들어, 주어진 문자열
Ah, abracadabra!
출력은 다음과 같습니다.
! , 에이 aaaaa bb 씨 디 h rr
출력의 각 그룹에는 공백이 제거 된 동일한 문자가 포함됩니다. 줄 바꿈은 그룹 간 구분 기호로 사용되었습니다. 허용되는 형식에 대한 자세한 내용은 아래를 참조하십시오.
규칙
입력 문자열 또는 문자의 배열되어야한다. 인쇄 가능한 ASCII 문자 만 포함합니다 (공백에서 물결표까지 포함). 해당 언어가 지원하지 않으면 ASCII 코드를 나타내는 숫자 형식으로 입력 할 수 있습니다.
입력에 공백이 아닌 문자가 하나 이상 있다고 가정 할 수 있습니다 .
출력 구성되어야 자 (입력은 ASCII 코드에 의해 인 경우에도). 입력 사이에 나타날 수있는 공백이 아닌 문자와는 다른 그룹 사이에 분명한 구분 기호 가 있어야합니다.
출력이 함수 반환을 통해 출력되는 경우 배열 또는 문자열 또는 문자 배열 배열 또는 유사한 구조 일 수도 있습니다. 이 경우 구조는 필요한 분리를 제공합니다.
각 그룹의 문자 사이 의 구분 기호 는 선택 사항 입니다. 하나가 있으면 동일한 규칙이 적용됩니다. 입력에 나타날 수있는 공백이 아닌 문자 일 수 없습니다. 또한 그룹간에 사용 된 것과 동일한 구분 기호가 될 수 없습니다.
그 외에는 형식이 유연합니다. 여기 몇 가지 예가 있어요.
그룹은 위에 표시된 것처럼 줄 바꿈으로 구분 된 문자열 일 수 있습니다.
그룹은와 같은 비 ASCII 문자로 구분 될 수 있습니다
¬
. 위의 입력에 대한 출력은 다음과 같습니다.!¬,¬A¬aaaaa¬bb¬c¬d¬h¬rr
그룹은 n > 1 공백 으로 구분 될 수 있으며 ( n 은 가변적 임에도 불구하고 ) 각 그룹 사이의 문자는 단일 공백으로 구분됩니다.
! , A a a a a a b b c d h r r
출력은 함수에 의해 반환 된 배열 또는 문자열 목록 일 수도 있습니다.
['!', 'A', 'aaaaa', 'bb', 'c', 'd', 'h', 'rr']
또는 char 배열의 배열 :
[['!'], ['A'], ['a', 'a', 'a', 'a', 'a'], ['b', 'b'], ['c'], ['d'], ['h'], ['r', 'r']]
규칙에 따라 허용되지 않는 형식의 예 :
!,,,A,a,a,a,a,a,b,b,c,d,h,r,r
입력에 쉼표가 포함될 수 있으므로 쉼표를 구분 기호 ( ) 로 사용할 수 없습니다 .- 그룹 간 구분 기호 (
!,Aaaaaabbcdhrr
)를 삭제하거나 그룹 간 및 그룹 내에서 동일한 구분 기호 ( )를 사용하는 것은 허용되지 않습니다! , A a a a a a b b c d h r r
.
그룹은 출력 에서 임의의 순서 로 나타날 수 있습니다 . 예를 들어 : 알파벳 순서 (위의 예에서와 같이), 문자열에서 처음 나타나는 순서, ... 순서가 일관되거나 결정론적일 필요는 없습니다.
입력이 개행 문자를 포함하고 수 없습니다 A
및 a
다른 문자입니다 (그룹화는 대소 sentitive ).
바이트 단위의 최단 코드가 이깁니다.
테스트 사례
각 테스트 사례에서 첫 번째 라인이 입력되고 나머지 라인은 출력이며 각 그룹은 다른 라인에 있습니다.
테스트 사례 1 :
아, 아브라카 다 브라! ! , 에이 aaaaa bb 씨 디 h rr
테스트 사례 2 :
\ o / \ o / \ o / /// \\\ ooo
테스트 사례 3 :
사람, 계획, 운하 : 파나마! ! ,, : 에이 피 으아 아 씨 ll mm nnnn 피
테스트 사례 4 :
"내가 비명을 지르는 방법을 보여줘"그녀는 말했다. "" , 에스 aaaaa cc dd eeeeeee hhh ii kk 음 엔 ooooo rr ssss tttttt 유 W w 와이