お題6 Delete Blank Lines†
入力された空行を削除して、のこりを表示する
http://golf.shinh.org/p.rb?delete+blank+lines
入力例†
1 2 3
出力例†
1 2 3
C (min 25bytes)†
siso 08/11/21 107bytes
#include<stdio.h>
int main(){char s[256];while(0!=(fgets(s,256,stdin)))if(s!=10)fputs(s,stdout);return 0;}
スタンダード(手抜き)に書いてみた
Java (min 140)†
masawaki 08/11/14 133bytes @narita
class d{static{try{for(int c,d=0;(c=System.in.read())!=-1;){if(!(c==d&&c==10))System.out.print((char)c);d=c;}}catch(Throwable t){}}}
これは・・・
Zauberer 08/11/19 136bytes gcj 4.3.0
class D{public static void main(String[]a)throws Exception{for(int c,t=0;(c=System.in.read())>0;)if(c!=t||t!=10)System.out.write(t=c);}}
gcjはstaticイニシャライザが使えない...
Perl (min 12bytes)†
murachue 08/11/15 25bytes @narita
while(<>){print if !/^$/}
だめだこりゃ
kurohuku 08/11/23 19bytes @自宅
/^$/||print while<>
正規表現はmurachueのをパクった.サーセン.
kurohuku 08/11/23 17bytes @自宅
print grep/.+/,<>
空行が改行だけの行って意味ならOKのはず
sed†
murachue 08/11/15 5bytes @narita
/^$/d
いや…sedだし…。
awk†
kurohuku 08/11/21 2bytes @oss03
NF
haskell†
masawaki 10/07/28 119bytes snow leopard
main=do c<-getContents t$lines c t[]=putStr"" t n=u(head n)(tail n) u""l=do putStr"" t$l u n l=do putStrLn n t$l
経験値不足な感じがおわかりいただけるだろうか。
masawaki 10/07/30 104bytes @ossc04
main=do{c<-getContents;putStr$u$map(f)(lines c)}
f""=""
f x=x
u(x:[])=x
u("":s)=u s
u(x:s)=x++"\n"++u s
ちょっとスマートになった。
masawaki 10/7/31 73bytes @ossc04
main=getContents>>=putStr.u.lines
u[x]=x
u("":s)=u s
u(x:s)=x++"\n"++u s
馬鹿な事をやっていたのをなくした。そして関数の適用方法を変えた。





