2013年1月26日土曜日

jsコードゴルフ,その2(迷路)

あけましておめでとうございます。
晴々しく迎えた2013年、かれこれ1か月の時が過ぎようとしています。2014年はがんばりましょう。

-------------------------------------

挑戦者求む!コードゴルフ:迷路byクロノス・クラウン合同会社 http://bit.ly/ThB7NS @codeiqさんから

おわりました。
実のところクリスマスに開催された直後は、あまりやる気が起きませんでしたが、
年度が変わって2週間ほど経った頃、ようやくモチベが出まして、それから5,6日ほど浸かっておりました。

というのも、ProjectEulerなるサイトにも少々触れておりまして、今回のゴルフに使えるロジックを偶然組んでおり、「ハッこれ使えるじゃん!」などと流用と共に当ゴルフに打ち込み始める・・・という経緯がありました。
(数学自体は苦手ですが、だからこそとちまちま触ってます。 問題はこちら→ http://projecteuler.net/problem=24 )

pythonコードだったそれをjsとして移植、改良を加えた所、ようやく階乗の都合うんぬんなど徐々に見えてきまして、よく楽しむ事が出来ました。楽しかった!

結果については、提出時(18日)の時点は13位まで食い込めていたのですが、流石の競争率と言いましょうか、締切には19位まで追い越されてしまいました。

しかしながら、個人的な満足度は非常に高い結果となりました。
前回のゴルフが始まるまで、実のところjsの仕様など何処吹く風であった割には、
(言語仕様程度ではありますが)よく勉強でき、そして楽しさを知る事が出来ました事、十分すぎる成果だと思います。

クロノス・クラウンさん、ProjectEulerさん、そしてCodeIQさんに感謝いたします。

結果:
19位/108
258バイト

解答:
s=[]
w=56
for(t=w*35;t--;)s[t]=~t%w?t%w%54&&t/w%34|0?"■":e=" ":"\n"
function p(x){for(var j=4;j--;s[o=x+k*2]<e&&(s[o]=s[o-k]=e,p(o)))for(a=7*(x%w+3)*~~(x/w+5)%24,h=[-1,-w,1,w],b=4;b-->j;k=h[i=0|a/c],a%=c,h[i]=e,h.sort())c=b<3?b:6}p(274)
return s.join("")

(整形はこの辺でどぞ: http://www.enjoyxstudy.com/misc/20060911/code_paste.html)
(これ使った: ソースコード HTML化 コンバーター「唐辛子」)

---------------


まじめか!!!!!!!


2013年1月9日水曜日

jsコードゴルフ

あけましておめでとうございます。
思いついたかのように最近の活動を1つ日記にします。ぶい

-----

挑戦者求む!サンタのためのコードゴルフby@ITコラボ企画「もしもエンジニアがサンタだったら」 http://bit.ly/TCMuQS @codeiqさんから

を楽しんでおりました。
jsをあまり扱った事がないのでjs仕様を覚えてみると同時に、コードゴルフなる競技にも挑戦!
終わったので晒します!

結果:
38位/117 299文字バイト

解答:

for(h=[],i=4;i--;h[i]=e.slice(1,-1)){for(f=[],l=m=e=0,j=40;j--;)for(k=80,f[j]=[];k--;)f[j][k]="_%"[+(Math.abs(k-40)<(j-(0|j/8)*4)%(-~j/8*8))];for(;m<160;){r=(i+m)*m++*~-5e4+~-6e4&65535;x=r%78;y=r%38;f[++y].splice(x++,3,"-","*","-");f[y-1][x]=f[y+1][x]="|"}for(;l<40;)e+=f[l++].join("")+"\n"}return h

(整形はこの辺でどぞ: http://www.enjoyxstudy.com/misc/20060911/code_paste.html)
(これ使った: ソースコード HTML化 コンバーター「唐辛子」)

感想:

他言語他環境のコードゴルフだとまた違った掘り方があるのかもしれないけど、jsのような非常に柔らかい言語でのコードゴルフはとても触りやすく、すんなりハマる事ができまんた。楽しかった!!

あと終了後にevalの存在にハッとした!  ロジカルな使い方はまったく思い浮かばないけど、もし活用できたとしたら非常に強力な武器になりそう。 機会があったら活用の糸口を探してみたい・・・


-----

挑戦者求む!コードゴルフ:迷路byクロノス・クラウン合同会社 http://bit.ly/ThB7NS @codeiqさんから

・・・引き続きjsゴルフが開催されてます!!!せんでん!!

こちらも現在楽しんでいて、今のところ360字・・・でももう限界きてるかもww

これからも何度も開催してくれるのだろうか!
正直な所、これがなかったらCodeIQを覗く習慣なくなってたかも・・・ってくらい素敵企画なので、これからも楽しませてほしいだぁ~

-----

・その他

音ゲーを完全に?引退?する流れ、
資格試験に挑戦?、
創作活動の方向転換・・・など話したい事はあるけど!割愛!

相変わらず立ち位置の分からない生活してます。
ひとまず生活習慣に気を使っておくニート・・・ううっ
無駄なく自己犠牲を図るため、現状では知識から物足りないと思うのでとりあえず勉強します。もっとよく勉強したいです。

それでは。