先日、Paizaのスキルチェックで 時間切れ0点を取ってしまったので、 癪だからランクS、本気で取りに行きました。 ひとりすごろくは第一次制限時間の40分を超えてしまったので、 全ケース通ったんですけど95点でSではなくA判定。 やっぱり時間が大事なんですね。 Javaで「早く」書くのは確かにキツイです。 ので、次は50点の制限時間が2時間のビリヤードの玉突きに挑戦しました。 こちらは、問題中にヒントを書いていてくれていることもあり、 60分で解答を提出、ようやっとSランクをゲットできました。 今までAランクでいっか、とか思ってて、S問題はゆっくりやって、 再チャレンジでcodeをbrush upして100点を取ってたんですけど、 それより時間が大事、なんですかね。 いや、実務では分を争う程、そこまでsevereではないので... それに、paizaでいくら頑張っても、 小さいとこばっかりであんまり行きたい先が無いので、虚しいんです。
Getting Prize S Level Programmer at Paiza
Challenging Paiza TSP
8/13はPaizaの日、ということで、巡回セールスマン問題を出題していました。 Paizaラーニングでも巡回セールスマン問題のさわり(貪欲法)を取り上げていて、 2-OptやSimulatedAnnealing(焼きなまし法)を学んで、 いざ書いてみたんですが、なかなかうまく行きません。 テストデータは有名ドコロがあります。 まずはatt48で2-Optでやってみたものの、 交差線が多く、全然それっぽい経路が得られません。 なんでーーー!? Javaによるまんまのコードがあったので、 読み解いていったんですけど時間かかっちゃって、 結局Paizaの締切9/12に間に合いませんでした... 何たること。
どうも、キモはswapにあるようで、 点を交換すると総延長が短くなる場合、 当然点を交換するんですが、 当該点だけを交換するだけじゃなく、 そこから真ん中へ向かってずっと点を交換していくんですね。 そうかー。
悔しいから、久し振りにPaizaのS問題やってみました。 最も簡単そうな最小辞書順列にしてみました。 けれど、問題の意味を理解するのと、JavaのStreamで書ききったために、 制限の2時間、あっという間に過ぎてしまいました。0点確定です。トホホ。 しかも、提出したコードは、2つの場合だけ通らずに、80点。 どうしてコケる時があるのか、思い当たるフシもなく、未だにわかっていません。 テストデータ、見せて欲しいです。
Hostapd After That...
何か、不安定ですhostapd。 昨夜は、何故か出勤後の9:58に勝手に謎のrebootしてたし、 今日も帰宅後、NotePCがWiFiで繋がらないから試行錯誤すると、 一旦USB WiFiドングル抜き差ししてhostapdをstop/startしたら、漸く。 でも、1秒毎にreconnectしたりして、もう何だか。 やっぱり、何かWiFi station買ってこないとダメなのかなー。
Current Project I'm Working in
今、グループ内会社のAndroidアプリ開発に売られてるんですけど、そこのソフトの作りがひどくてひどくて泣けてきます。
- 「結果が表示されなくなった」というので見てみたら、
toString()が変わっていたのが原因。より根本的な原因は、toString()というdebug用途のmethodをoverrideしてmainのlogicに使っていること。まぁ、Activity跨ぐstructured dataをParcelableにする時間が無かった、という事情は分かるんですけど、StringBuilder#toStringですら使わずnew String(StringBuilder)とするくらいなのでぼくは。 - 「途中で落ちる」というので見てみると、ヌルポが出てました。どうしてかなー、と見ていくと、途中でnullを代入しているmethodが呼ばれています。どうしてこれを呼ぶよう変えたのか聞いてみると、終了処理をちゃんとするようしてる時に、comment outしてあったこのfinishっぽいmethodをcomment inしたんだそう。それがどういう効果を持つのかわからぬまま、そうしたんだって。えーーーっ!?
- 極めつけは、今日わかったんですが、
HashMapをListにしてその0番目を使ってるんですね。えーーーっ! どうしてAndroid 4.4.2ではうまく動かないの? というのを探っていったら、そこに行き着きました。逆に、これまでよく動いていましたねぇ。素晴らしい!! 先月までいた派遣のフリー技術者が書いたcodeの一部でしたけど、わざと書いたならいざ知らず、もし意識せず書いたのなら、恐ろしいです。
Grain on CodeAnywhere
ちょっと、やっぱりダメですね。
1 2 3 4 5 6 | |
といわれて、./grainw generateも./grainw gendeployも出来ません。 あーあ、なぁんだ。