Mục tiêu
Đôi khi thực đơn bữa tối có thể có tên dài ngoằn ngoèo. Người phục vụ dễ dàng hơn nhiều để viết một từ viết tắt mà rõ ràng xác định món ăn.
Ví dụ, đưa ra danh sách này:
beef burger
chicken burger
chicken nuggets
Các chữ viết tắt c n
phù hợp chicken nuggets
.
Các chữ viết tắt bur
phù hợp beef burger
và chicken burger
.
Viết chương trình hàm xác định một hoặc nhiều mục khớp với chữ viết tắt.
Đầu vào
- Chuỗi viết tắt để tìm.
- Một danh sách các mục để tìm kiếm.
Bạn có thể thay đổi thứ tự này và sử dụng bất kỳ loại dữ liệu phù hợp.
Đầu ra
- Nếu chữ viết tắt không khớp với bất kỳ mục nào:
Not found
- Nếu chữ viết tắt rõ ràng khớp với một mục: xuất ra mục không viết tắt.
- Nếu chữ viết tắt mơ hồ khớp với một số mục: xuất ra một danh sách các từ được phân tách bằng dấu phẩy sẽ làm cho lựa chọn không rõ ràng, theo sau là một dấu hỏi. Thứ tự không quan trọng. Không gian thêm được cho phép.
Quy tắc phù hợp
Mỗi từ trong chữ viết tắt và các mục được xem xét riêng. Nếu một từ viết tắt khớp với bắt đầu của một từ mục, thì mục đó là một từ phù hợp tiềm năng. Nếu không có từ nào của một mục bắt đầu bằng bất kỳ từ nào nếu các từ viết tắt, thì mục đó không khớp.
Các từ viết tắt có thể theo thứ tự bất kỳ.
Một từ viết tắt không thể được sử dụng để khớp với nhiều từ mục và ngược lại.
Chữ viết tắt chỉ phù hợp với sự bắt đầu của từ.
Giả sử không có mục nào chứa tất cả các từ của mục khác. Ví dụ, bạn sẽ không bao giờ có beef burger
và beef cheese burger
.
Các trường hợp thử nghiệm
Đưa ra danh sách này:
beef burger
crispy chicken burger
grilled chicken burger
chicken nuggets
chocolate cone
strawberry cone
vanilla cone
Những từ viết tắt này cho đầu ra được chỉ định:
fish Not found
cones Not found
chicken cone Not found
nilla Not found
v vanilla cone
be beef burger
c n chicken nuggets
b b beef burger
c b c crispy chicken burger
c b crispy,grilled?
bu beef,crispy,grilled?
or beef,crispy chicken,grilled chicken?
ch crispy,grilled,nuggets,cone?
or crispy chicken,grilled chicken,nuggets,cone?
Chấm điểm
Đây là mã golf. Câu trả lời ngắn nhất tính bằng byte trong 12 ngày sẽ được chấp nhận. (Tôi sẽ thực hiện nó một tuần, nhưng tôi sẽ không ở đó vì điều đó.)
c b
sẽ khớp crispy chicken burger
thay vì mơ hồ. Khi tôi nói "từ", tôi có nghĩa là một chuỗi các ký tự được phân cách bởi một khoảng trắng, g c b
ba từ cũng vậy.
crispy,grilled,nuggets,chocolate
có nên hợp lệ cho ch
trường hợp thử nghiệm? Với cách hiểu thứ hai, chicken,grilled
nên có giá trị cho c b
trường hợp thử nghiệm. Tôi đang thiếu gì?
b b
beef burger
battered bacon
những gì sẽ được chấp nhận đầu ra?
v
khớpvanilla cone
.