다음은 유니 코드로 된 일반적인 합자 목록입니다 (Debian의 Compose 키로 만들 수있는 것) :
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
이 문제에는 실제 UTF-8 합자를 사용하거나 ASCII 전용 변형을 사용하는 두 가지 옵션이 있습니다. 실제 UTF-8 합자 변형을 사용하면 20 %의 보너스를 얻게됩니다. ASCII 전용 변형을 사용하는 경우 합자를 나타내지 않는 한 대괄호가 절대 포함되지 않는다고 가정 할 수 있습니다.
도전 과제 : 문자열을 입력으로 지정하면 동일한 문자열을 출력합니다.
모든 원래 합자가 확장 된 대응으로 대체되었습니다.
- 탐욕과 일치 :
affib
이된다affib
(a[ffi]b
),하지affib
(a[ff]ib
) 또는affib
(af[fi]b
).
- 탐욕과 일치 :
모든 "확장 된"문자 시퀀스가 합자로 대체됩니다.
- 예를 들어
æOEfoo
([ae]OEfoo
)는aeŒfoo
(ae[OE]foo
)가됩니다.
- 예를 들어
완전히 독립적으로 수행하십시오. ffi
( [ff]i
)가 ffi
( ffi
)가 아닌 ffi
( [ffi]
)가됩니다.
충분히 간단하게 들리십니까? 캐치있다 : 두 개의 비 합자에 의해 중복마다 정확히 하나 개의 문자가 , 두 합자의 문자열에 삽입해야합니다. 다음은 몇 가지 테스트 사례입니다.
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
동일한 욕심 매칭이 적용됩니다 (특히 마지막 몇 가지 테스트 사례에 유의하십시오).
code-golf 이므로 바이트 단위의 가장 짧은 코드가 승리합니다.
7
@Mego 큰 거래는 무엇입니까? 선택한 언어를 기본적으로 처리 할 수없는 경우 UTF-8 인코딩 인 0xc3 0xa6을 인쇄하십시오.
—
Dennis
언어가 특정 작업을 수행 할 수없는 경우 해당 작업에 해당 언어를 사용하지 마십시오. 큰 문제가되어서는 안됩니다.
—
Alex A.