2012-12-01から1ヶ月間の記事一覧

第2章 問題の管理

発生した障害や、テスト中に見つかった問題は、ちゃんんと管理してトラッキングしましょうって話。 ポイントは「障害報告」の書き方。 問題を再現するために必要かつ十分な情報を書くこと。情報が少ないと再現出来ないし、 かと言って情報過多だと、データベ…

Vmail

Vim Advent Calendar 2012 の 25 日目の記事です。 これ、参加=記事を書くってことだったんですね。 ちゃんとみてなかったので気づかず、今日連絡もらって気がつきました。。。Vim暦は長いけど、Advent Calenderに書くほど使いこなしてない(- -;;) でもさす…

問題3.3

この辺も簡単ですね。さくさくっと進みます。 問題皿が積み上がっている状況をイメージしてください。もし、高く積み上がり過ぎたら倒れてしまうでしょう。ですから、実生活ではスタックがある領域を越えたとき、新しいスタックを用意することになるでしょう…

第1章

「世界で闘うプログラミング力を鍛える150問」と並行して、こちらも少し読み始めました。 まず1章読んだので、軽くまとめ。 ポイントは"TRAFFIC" T rack : 問題をデータベースに記録する R eproduction : 障害を再現する A utomate : テストケースの自動化…

問題3.2

3章入りました。 最初popのこと考えなかったので簡単かと思いきや、、、ってやつですね。 まぁ最初なんでウォーミングアップ。 問題pushとpopに加えて、最小の要素を返す関数minを持つスタックをどのようにデザインしますか?ただしpush、pop、min関数はすべ…

問題2.7

世界で闘うプログラミング力を鍛える150問 問題集だと、また再帰で解いてますね。 再帰ねー。数学脳じゃないんで、どうも苦手。 はやくこの問題集終わらせて、オライリーの「デバッグの理論と実装」読みたいので、再帰はやりませぬ。 って、まだ問題集130問…

問題2.6

世界で闘うプログラミング力を鍛える150問 今回は解答みないと解けませんでした。 リスト処理でランナーテクニックって定石らしいです。 多分大学で教えてたんだろうね。ほとんど行ってなかったからね。。。 問題循環する連結リストが与えられたとき、循環す…

問題2.5

世界で闘うプログラミング力を鍛える150問 今回は同じ問題を2通りの方法で解いてみました。 1個目が、最初に何も考えずに解いた解法。 2個目が、解答みて再帰使ってたので、そちらを取り入れたもの。 どっちがいいんでしょうねぇ。 たしかに1個目はきれ…

問題2.4

世界で闘うプログラミング力を鍛える150問 昨日呑みに行ったばかりに、せっかく毎日書いてたブログが早速途切れてしまった。 ってか今日も明日も明々後日も呑みなんだけど。師走。。。 問題ある数xが与えられたとき、連結リストの要素を並べ替え、xより小さ…

問題2.3

世界で闘うプログラミング力を鍛える150問 問題自体は簡単。 Pythonのオーバーライドや、doctestのELLIPSISの使い方は多少参考になるかも? ってかこの本、邦訳が悪いのか、たまに質問の意味がわからないですね。 問題単方向連結リストにおいて、中央の要素…

問題2.2

世界で闘うプログラミング力を鍛える150問 夕飯休憩中にもう1問。 テキストだと再帰で解いてますね。 まぁなんとなく分かるけど、再帰って頭こんがらがるんですよね。。。 ってことで地味な方法でやります。 問題単方向連結リストにおいて、末尾から数えてk…

問題2.1

世界で闘うプログラミング力を鍛える150問 昨日、作りながら寝落ちしたので、昼休みに残り完成。 時間切れなので、発展問題は検討すらしてないです。 問題ソートされていない連結リストから、重複する要素を削除するコードを書いてください。 発展問題もし、…

問題1.8

世界で闘うプログラミング力を鍛える150問 これもまぁ解けたけど、面接とかでいきなり解けって言われたら思いつかないかも。 いやー、思った以上に脳が腐ってきてる。笑。 問題片方の文字列が、もう片方の文字列の一部分になっているかどうかを調べるメソッ…

問題1.5

世界で闘うプログラミング力を鍛える150問ちょっと汚いかも。まぁ。。。 問題文字の連続する数を使って基本的な文字列処理圧縮を行うメソッドを実装してください。たとえば、「aabcccccaaa」は「a2b1c5a3」のようにしてください。もし、圧縮変換された文字列…

問題1.7

世界で闘うプログラミング力を鍛える150問 寝る前に一問。 問題MxNの行列について、要素が0であれば、その行と列のすべてを0にするようなアルゴリズムを書いてください。 #encoding: utf-8 def initialize_with_zero(matrix): ''' 引数で受け取ったMxNの行列…

問題1.6

世界で闘うプログラミング力を鍛える150問あー。マトリクスとか、面倒すぎる。 この辺、普段から頭使ってないと、咄嗟に出来ないなー。 Numpy使っちゃいたくなるよね。。。 問題NxNの行列に書かれた、1つのピクセルが4バイト四方の画像があります。その画像…

問題1.4

世界で闘うプログラミング力を鍛える150問はいはい。サクサクっとね。 問題文字列内に出現するすべての空白文字を"%20"で置き換えるメソッドを書いてください。ただし、文字列の後ろには新たに文字を追加するためのスペースが十分にある(バッファのサイズは…

問題1.3

世界で闘うプログラミング力を鍛える150問はい。簡単なんで、どんどん行きましょう。 問題2つの文字列が与えられたとき、片方がもう片方の並び替えになっているかどうかを決定するメソッドを書いてください。 #encoding: utf-8 def is_same_characters(str1,…

問題1.2

世界で闘うプログラミング力を鍛える150問引き続き〜☆ 問題CかC++で、void reverse(char* str)という'\0'終端の文字列を逆に並び替える関数を実装してください。 CかC++って指定されてるけど、相変わらず面倒なのでPythonで行きます。 #encoding: utf-8 def …

問題1.1

世界で闘うプログラミング力を鍛える150問せっかく買ったんで、解きながらブログに載せていきます! これなら手軽にブログ書けるネタになるので、ちょうどいいし。笑。 あ、ちなみに本ではCとC++で実装してますが、 面倒なので基本的にPythonで書いちゃいま…