Comment detail

LL Golf Hole 7 - バイト数を読みやすくする (Nested Flatten)
1024ではなく1000でいいのなら、文字列のままでもいけますよね。
ということで、引数を使って57byte
1
s=$*[0];l=s.size;p s[0,l%3]+"."+s[l%3,1]+" kMGTPE"[l/3,1]
それ、PostgreSQLで。8.2で確認。174byte。
ところで、SQLはLLですか?
1
select substring(c from 1 for l%3)||'.'||substring(c from l%3+1 for 1)||substring(' kMGTPE' from l/3+1 for 1)from(select column1 as c,length(column1)as l from(values('12345'))s)s;
文字列の長さが3の倍数の時だけおかしくなります。
>ruby  LL7.rb 12345
"12.3k"

>ruby LL7.rb 123456
".1M"

>ruby LL7.rb 1234567
"1.2M"
う。確かに。
修正して63byte
1
s=$*[0];l=s.size-1;x=l%3+1;p s[0,x]+"."+s[x,1]+" kMGTPE"[l/3,1]
サンプルコードとコンパチでコードサイズの短縮を目指して
いるのなら、まだ相当に違いがありますね。引用符とか、
1000より小さい時の表示とか、数字の丸め方とか。
スタート地点もゴール地点も各自、自由に決めていい100m競争
みたいな状態だからなんでもありかも。(ちょっとなげやり)
大きい数値を入れると " kMGTPE"[l/3,1] のところでエラーになります。
他の言語の人も単位の選択に配列を使っている人はご注意を。

Index

Feed

Other

Link

Pathtraq

loading...