이름 목록이 주어 졌을 때, 주어진 이름의 중복이 성의 고유 한 단축 버전을 갖는 목록을 출력하거나 반환하는 함수 나 프로그램을 작성하십시오.
입력:
이름 목록. 여기서 이름은 주어진 이름과 성으로 공백으로 구분됩니다. 이름은 대문자와 소문자 만 포함하는 비어 있지 않은 문자열입니다. 이 목록은 문자열 배열이거나 이름이 영숫자가 아닌 비 공백 문자로 구분 된 이름 일 수 있지만 출력은 입력과 형식이 같아야합니다.
산출:
다음 규칙에 의해 수정 된 입력과 동일한 순서 및 형식으로 입력 된 이름 목록 :
- 고유 한 이름의 경우 주어진 이름 만 출력하십시오.
- 동일한 이름을 공유하는 이름의 경우 :
- 이름뿐만 아니라 다른 이름과 공유하지 않는 마침표 뒤에 가장 짧은 고유 한 성을 추가하십시오. 예를 들어 :
John Clancy, John Smith
하게John C.,John S.
및James Brown, James Bratte
된다James Bro.,James Bra.
- 한 성이 다른 성의 하위 집합 인 경우
Julian King,Julian Kingsley
에는 마침표없이 작은 성의 전체 성을 반환합니다. 예는Julian King,Julian King.
- 이름뿐만 아니라 다른 이름과 공유하지 않는 마침표 뒤에 가장 짧은 고유 한 성을 추가하십시오. 예를 들어 :
- 기본적으로 기간은 정규식 표현
.+
, 단 하나의 이름이 일치해야합니다. - 아무도 동일한 이름과 성을 모두 공유하지 않는다고 가정 할 수 있습니다.
- 이름은 대소 문자를 구분합니다
테스트 사례 :
John Clancy,Julie Walker,John Walker,Julie Clancy
->John C.,Julie W.,John W.,Julie C.
Julian King,Jack Johnson,Julian Kingsley
>Julian King,Jack,Julian King.
Jack Brown,Jack Black,Jack Blue
>Jack Br.,Jack Bla.,Jack Blu.
John Storm,Jon Snow,Johnny Storm
>John,Jon,Johnny
Jill DeSoma,Jill Desmond
>Jill DeS.,Jill Des.
XxXnO sCOppeXxX,XxXNO MERCYXxX
>XxXnO,XxXNO
이것은 code-golf 이므로 각 언어의 최저 바이트 수가 이깁니다.
관련 , 관련 (감사합니다 @Laikoni). 샌드 박스 게시물
—
Jo King
Angela C.
테스트 케이스의 출처는 어디 입니까?
될 운명
—
Jo King
Julie
, 죄송합니다 감사합니다. 수정