Dưới đây là danh sách một số chữ ghép phổ biến trong Unicode (những chữ tôi có thể tạo bằng khóa Soạn trên Debian):
Orig Ascii Lig
ae [ae] æ
AE [AE] Æ
oe [oe] œ
OE [OE] Œ
ij [ij] ij
IJ [IJ] IJ
ff [ff] ff
fi [fi] fi
fl [fl] fl
ffi [ffi] ffi
ffl [ffl] ffl
Bạn có hai lựa chọn trong thử thách này: sử dụng chữ ghép UTF-8 thực tế hoặc sử dụng biến thể chỉ có ASCII. Nếu bạn sử dụng các biến thể chữ viết UTF-8 thực tế, bạn sẽ nhận được 20% tiền thưởng. Nếu bạn sử dụng biến thể chỉ ASCII, bạn có thể cho rằng dấu ngoặc vuông sẽ không bao giờ được tham gia ngoại trừ để biểu thị một chữ ghép.
Thách thức: đưa ra một chuỗi làm đầu vào, đầu ra cùng một chuỗi
với tất cả các chữ ghép gốc được thay thế bằng các đối tác mở rộng của chúng.
- phù hợp tham lam:
affib
trở thànhaffib
(a[ffi]b
), khôngaffib
(a[ff]ib
) hoặcaffib
(af[fi]b
).
- phù hợp tham lam:
với tất cả các chuỗi chữ cái "mở rộng" được thay thế bằng chữ ghép.
- ví dụ:
æOEfoo
([ae]OEfoo
) trở thànhaeŒfoo
(ae[OE]foo
).
- ví dụ:
Làm điều này hoàn toàn độc lập: ffi
( [ff]i
) trở thành ffi
( ffi
), không ffi
( [ffi]
).
Âm thanh đủ đơn giản? Có một nhược điểm: mỗi lần hai chữ không ghép chồng lên nhau bằng chính xác một ký tự , cả hai chữ ghép phải được chèn vào chuỗi. Dưới đây là một vài trường hợp thử nghiệm để chứng minh:
Input Ascii-output Output
fij [fi][ij] fiij
fIJ f[IJ] fIJ * remember, capitalization matters!
fffi [ff][ffi] ffffi
fff [ff][ff] ffff
ffffi [ff][ff][ffi] ffffffi
ffffij [ff][ff][ffi][ij] ffffffiij
Hãy cẩn thận: áp dụng kết hợp tham lam tương tự (đặc biệt lưu ý một vài trường hợp thử nghiệm gần đây nhất).
code-golf , vì vậy mã ngắn nhất trong byte thắng.