Thách thức này dựa trên một vấn đề được mô tả trong D. Parnas, Về các tiêu chí được sử dụng trong việc phân tách các hệ thống thành các mô-đun , và được xây dựng trong J. Morris, Lập trình thực trong Ngôn ngữ chức năng .
Viết chương trình hoặc chức năng lấy danh sách tên sách từ stdin
hoặc làm đối số, theo định dạng hợp lý, thuận tiện cho ngôn ngữ của bạn. Ví dụ,
Green Sleeves
Time Was Lost
hoặc là
("Green Sleeves";"Time Was Lost")
Trả lại hoặc in ra stdout
một danh sách theo thứ tự bảng chữ cái của các từ khóa, hiển thị ngữ cảnh của chúng trong các tiêu đề ban đầu bằng cách đặt mỗi từ khóa trong dấu ngoặc nhọn ( <
và >
). Cũng như đầu vào, đầu ra có thể ở định dạng hợp lý, thuận tiện cho các dòng được phân tách bằng ngôn ngữ mới, danh sách các chuỗi, v.v .:
<Green> Sleeves
Time Was <Lost>
Green <Sleeves>
<Time> Was Lost
Time <Was> Lost
Các tiêu đề sẽ bao gồm một loạt các từ khóa được phân tách bằng một khoảng trắng. Từ khóa sẽ chỉ chứa các ký tự chữ cái. Các từ khóa sẽ được sắp xếp theo từ vựng . Các tiêu đề sẽ là duy nhất và các từ khóa sẽ là duy nhất trong mỗi tiêu đề nhưng cùng một từ khóa có thể tồn tại trong một số tiêu đề. Nếu một từ khóa tồn tại trong nhiều tiêu đề, đầu ra sẽ liệt kê mỗi lần xuất hiện theo thứ tự tùy ý . Ví dụ, đưa ra đầu vào này:
A Dugong
A Proboscis
Một đầu ra hợp lệ sẽ là:
<A> Proboscis
<A> Dugong
A <Dugong>
A <Proboscis>
Hoặc là:
<A> Dugong
<A> Proboscis
A <Dugong>
A <Proboscis>
Đây là code-golf - người chiến thắng là giải pháp ngắn nhất tính bằng byte. Sơ hở tiêu chuẩn là không được phép.