2008-04-01から1ヶ月間の記事一覧

js.golf.tips[6]

d[k]=++d[k]||1 // d[k] = d[k] ? d[k]+1 : 1 // ↓ // d[k]=-~d[k] // ~undefined === -1 を利用。uniqもcountも無いので割とよく使う。(3) [x,y]=['123','456'],print(+x+ +y) // ↓ // [x,y]=['123','456'],print(x- -y) // 数値としての和が欲しい場合。(1…

Groovyでどう書く

Rubyでどう書く?:連続した数列を範囲形式にまとめたい - builder by ZDNet Japan print args[0].split()*.toInteger().sort().inject([[[]]]){ r, v -> r[-1][-1] + 1 == v ? r[-1] << v : r << [v] r }.collect{ it.size > 2 ? it[0, -1].join('-') : it …

Morse decode

手に負え無さそうに見えたが,Wikipediaの二分木をそのまま配列(ヒープ?)で表してみたらそこそこ短くなった。Rubyに直訳したら100Bを超えたので,どうもやり方が違うらしい。 Groovyに移植したものは3つ目がタイムアウト。アップデート以降条件が厳しくな…

2.3.5

GSTのバージョンが2.3.5になり,最初から解き直す楽しみができた。 スクリプト末に「 ! 」が要らなくなったので,少なくとも1Bずつ縮む。

js.golf.tips[5]

1.7になったので,久々の続編。 for(i=0,s="string to iterate";c=s[i++];)print(c) /* ↓ */ for(i in s="string to iterate")print(c=s[i]) // IE・Rhinoでは不可能な操作(なので盲点だった)。 // SpiderMonkey専用? (4) /* ↓ */ for([i,c]in"string to it…

るびまゴルフ(3)

.rb

http://jarp.does.notwork.org/diary/200803c.html#200803311 なるほど…。 $ cat 3.rb#!ruby -alp $><<[$.,$F.size,~/$/,p]*" " $ cat 3.in TEST foo bar baz The quick brown fox jumps over the lazy dog. $ cat 3.out 1 1 4 TEST 2 3 11 foo bar baz 3 9 …

56K

タイムアウトさえしなければ R 向き。 cat(0:99999) 問題自体が4/1ジョークのつもりのような気もするが。