골프 영어 – 수축 사용


9

나는에서 가지고 내가 스택 교환 내용에서 많이 웃었다하지 않은 . 나는 여러분이이 도전을 즐기게 될 것이라고 생각합니다.

코드 골프 인 함수 나 프로그램을 작성할 것입니다. 즉, 가능한 한 짧아야합니다.

텍스트가 주어지면 이 표 에 따라 가능한 한 많은 단어를 축소 한 텍스트를 반환 하십시오 .

테이블에서 정보를 가져 와서는 안되며 코드에 필요한 모든 정보가 포함되어 있어야합니다.

우리는 불공정 경쟁을하지 않기 때문에 모든 기본 규칙을 어 기지 않아야합니다.

표와 같이 대문자가 아닌 경우 텍스트를 고려할 필요가 없으므로 you all WOULD not have또는 You all would not have로 변환하면 안됩니다 y'all'dn't've.

당신은 좋은 오래된 아포스트로피 (U + 0027) 나 다른 좋은 아포스트로피와 일치 할 수 있습니다 ; 당신이 원하는대로.

↑ 위의 입력 예와 ↓ 아래의 해당 출력 예

나는 이것 에서 나는만큼 Exchange Exchange 콘텐츠에서 웃지 않았습니다 . 나는 거기에있는 것들에서 영감을 얻은 것처럼이 도전을 누리게 될 것이라고 생각합니다.

코드 골프 인 함수 나 프로그램을 작성할 것입니다. 즉, 가능한 한 짧아야합니다.

텍스트가 주어지면 이 표 에 따라 가능한 한 많은 단어를 축소 한 텍스트를 반환 하십시오 .

테이블에서 정보를 가져 오는 것이 아니라 코드에 포함 된 모든 필수 정보가 있어야합니다.

우리는 불공정 경쟁을하지 않기 때문에 모든 기본 규칙을 위반하지 않아야합니다.

표 에서처럼 대문자를 사용하지 않으면 텍스트를 고려할 필요가 없으므로 you all WOULD not have또는 You all would not have로 변환하면 안됩니다 y'all'dn't've.

당신은 단지 좋은 ol '아포스트로피 (U + 0027) 또는 어떤 멋진 것들 과 일치 할 수 있습니다 ; 당신이 원하는 무엇이든.


당신의 예가 맞지 않습니까?
시몬스

@ N ^ BZ 네, 저것입니다!
시몬스

답변:


4

펄, 3429 1095 바이트

텍스트를 압축했습니다.

uuencoded 버전의 스크립트

@a=split('!',uncompress(<DATA>.<DATA>));while(<>){chomp;$l=$_;for$d(@a){chomp $d;($x,$y)=split(/,/,$d);if($l=~m/$y/){$l=~s/$y/$x/g}}print "$l\n"}
__DATA__
x<9c>uVK<b2><a3>0^L<dc><e7>^Tdņ<8b>p^Lϋ'<b8>^FpUL<e2><e2><f6><a3><af>-<9b><bc>^Mv<b7>d<a9>%<c4><c7>m<fb>xLn^[<f6>x<dc><ee><ee><e5>      <be><<e3>^_<87>^P<ae>^B<e3>{}<8c>^_?<d1>fX<dc><c7>^K    n<95>^G<df><ce>V^M<b7><fb>#^P^C<8b><e0><e8>^S^Q<b0>*Ø<d1>3<9e>1<ec><cf>ሷ<fb><e2>4^[<ec>L.<e6><95>D<9c>^X'<c5>^_<cf><c4>G<aa>[<fc><f8><98>^V^O<e7>^_^L(<a8>^_<b2><a9>N}<88>#<b8><ae><88><d3><e2><d6><d5><e0>^\^DrR^L<9a>J<96>$D<e3>^P:{@s̘.<e6>^A<da>c<a1><a6>^G^B<f3>!<c3>      <81>H<84>9|<81><a1>A<d8><db><db>}<86>`3W;s<b1>sS+<db>%Ռ<89>f<ad>S^P'<9d><c7>^M<f6>n<c3>^]<f7>t^^jWg^N<cc>!^CU<ab><a5><86>^C2<84><83>% @W<c0>V<84><fa><88>^L<80><90>^Y<b0>^H)<98><a5>^@<e4>^LGm8rB4^N<aa>b<f5><e8>^@<d7><e1>^M^N<9b>^[<dd>6m<ee><81><f5>l<e1><b9>^\2]<b4>7<f3><a5><b6>j^P<ae>:<8b><e3>;<b1>^_<ac><e2>^F;<f2>B<86><9d>v<ef>i\qe<a7>8<fe><ac><f1><e7><df>^T<ff>^N^G<8c>^C^A`<d7>q<8a>؈<f8><96><f4><b4><e1>#<d0>^Sd<a8>5<ca><e0><bc>&^]<ea><a4>S<9d><ba><b1><ae>~<d2><e7>ē<9c><ea>h^[<86>{<9d>tx<93>^]ob<95><ea><9c><c2><c5>'<90><8b><be>FxW$<99>^W<89>Xj<f7><8b>՘<80><8d><9b><ff>^S^_'<d6>"[)<bc>^X(<9a>ښ^V|9<ab><cd>(&<95><d3>^F0<b2><d4>^S;<a5>N<da><c0>o6i<a5><9a><92>՝<be>^[<82><f0>q<f7><a2>^Uv<b5>L<a2>U$Z<fa>"<db>s<a6>D4<88>6<b4><18><a5><8a>FC2^Z<d2>7Z^E^_^K<bc><b3>%5<ed><ab>h1<a9>l<b6><f6>¯<e7><8d>x6<8a>H<b6><9a>^B<be>Xk^QlL<8d><ae><f4><9b>        <8b>9^VG<af>^]\%^NQ<89>^Y:m     ><e3>_<d8>wZ<b9>p<a1><b0>hfmm<bf>^T<ca><e4>K<fd>Ử\*<81>SOI▒%w^]g<a2><fb>Q.^^<9d>Y-<dd>A{<c8><f0>ƻ^KU<bf>^P<e4>A<ed><f4><e5>a^Q<ae>^Q^X<f8><ad>fS<ad>k^S^X=~<89><ab><b7> <a8><97>^D<d4><f6><9d>6Fw\<93>s<ce><f1>^H<89>?^]<b8>ώ@Ɩg<87>^?%p=<e8><a7>$<f3><cf>Fַb<c6>[<99><e5><be>#<90>²<bf><f4>=<cb>H<e4>v^^4<82>t5<fb>ڝ<ec><fb>ސUy<82>/r<a3><8a>^A<f1>!<f5><e5><9f><\E<ac><8c>7<ae>z?^ZN<a2>"<85>q<91><e2><c8><<f3><b9><^D<96>^H^]<e6>^?^Pb>^ϐ<a0>^E<f4><a0><93><df>5J%8?^Z<b4><f2><9f>Q<96><89><cf><f5>!h<a9>pa4?r$<80>O<b2><82>H<e1><a3><dc>/<84><ec>^S<db>{R<fc><f4><ae>^@AM<8a><b5>o<85>ѮEnZԞE<92>^TU<b5><c2> H<f2>jƓÝ%<dc><c9><e1>N^Mw<d2><f9>S<c3>)<a4>pQ'<a6>^[^W<fa><c1>V^R<b1>|<90><9b>b<cd><e7><f8>2<b3><fa>16o<89>s<84>^FLg|^O<d4>^H<82>e^L<bf>x]]<ac><99>^F<bf>ڋl<b5>6<a7><f5><95>И/<e7><eb>S<af>^<8d>^]<e8><f8><86>[<8d>^\<8d>^DA<cd><d3>(,~2^RHH4^Y      <c3><d4><d8>/<91><fc><f2><8a><8b>F},<91><ae>ҍb<e2>^K    <ff><92><91>z\<ba><fa>^_<bf><fc><b5><8f>

perl -MCompress::Zlib script.pl <sample.txt
You will write a function or program that's code-golf, i.e. it'd've to be as short as you can make it.
Given a text, return (both by any means) the text where you'll have contracted as many words as possible according this table.
You shan't pull information from the table, rather you must've all necessary information included in your code.
All default rules oughtn't to be broken as we'lln't've any unfair competition.
You needn't consider text if 'tisn't capitalized as in the table, so you mustn't convert y'all WOULD not've or You all wouldn't've to y'all'dn't've.
You may match just the good ol' apostrophe (U+0027) or any nice ones; whatever you wanna.

perl -p0 s1-golfed.pl포장 된 while 루프를 제거 하는 데 사용할 수 있다고 생각합니다 .$/="\n";for$d(<DATA>){($x)=$d=~/(.*),(.*)\b/;s/$2/$x/g}
andlrc

그리고 필요를 제거하십시오 $x:for$d(<DATA>){$d=~s~(.*),(.*)\b~"s/$2/$1/g"~eeg}
andlrc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.