summer_tree_home

Check iOでPython3をマスターするぜっ

2014-02-01から1ヶ月間の記事一覧

How much gold (Electronic Station) - 金の含有率を求めよ

どんな問題? How much gold http://www.checkio.org/mission/how-much-gold/ ある金属のバーには、gold(金)、iron(鉄)、copper(銅)、tin(スズ)が含まれている。 各金属の含有率は不明だが、合金の含有率はわかっている。 例えば、金+鉄は全体の1/3、金+ス…

Radiation search (Electronic station) - N*Nのマスをグループ分け

どんな問題? Radiation search http://www.checkio.org/mission/radiation-search/ N*Nのマスに、それぞれNo.1~5の数字が書いてある。同じ数字が縦横につながっている部分をグループとして、もっとも大きなグループのサイズ(マスの数)と数字を求めよ。 3…

Open Labyrinthに再チャレンジ (A*探索)

先日、Open Labyrinth (迷路の探索)で、他の人の解答やヒントがさっぱり理解できなかったのが悔しかったので、図書館で「アルゴリズムを学ぼう」という本を借りてきた。アルゴリズムを学ぼう作者: 川中真耶,杵渕朋彦,椎名俊輔出版社/メーカー: アスキー・…

ブログの目次

記事が増えてきて見通しが悪くなってきたので、目次を作ってみた。

Python3.3で、はてなブログAtomPubを使ってみた

はてなブログの不満の一つが、エクスポート機能が無いということ。 他社のブログに移行したいわけじゃないが、そのうち引っ越しを考えるかもしれないし、そもそもWebサービスは無保証なんだから、PCにバックアップぐらいしておきたい。幸い、AtomPubという機…

Three Points Circle (Electronic Station) - 3点を通る円の方程式を求める

どんな問題? Three Points Circle http://www.checkio.org/mission/three-points-circle/ 3点を通る円の方程式を求めよ。ただし、中心が(a,b)、半径rの円の方程式は以下の通り。 (x-a)^2+(y-b)^2=r^2 その他の条件 3点は一直線上に無いものとする。 x,y,r …

Numbered triangles (Electronic Station) - 三角形のチップを並べる

どんな問題? Numbered triangles http://www.checkio.org/mission/numbered-triangles/ 正三角形のチップ6個には、各辺に数字が書いてある。 6つを組み合わせて正六角形を作るが、同じ数字が書いてある辺のみを合わせることができる。 六角形の外側の数字の…

The Hamming Distance (Electronic Station) - ハミング距離

いつの間にかElectronic Stationの一問目として追加されていた問題。新作ではなく、古い問題のリニューアルのようだ。 どんな問題? The Hamming Distance http://www.checkio.org/mission/hamming-distance2/ 2つの整数を二進数で表記した場合のハミング距…

Find Sequence (Electronic Station) - 連続した同じ数字を探せ

どんな問題? Find Sequence http://www.checkio.org/mission/find-sequence/ NxN (4マトリックスの中から、縦・横・斜めに4個以上の連続した同じ数字があるかどうかを調べる。 存在すればTrue、なければFalseを返す。

Restricted sum (Electronic Station) - sum()を使わずに合計を求めよ

どんな問題? Restricted sum http://www.checkio.org/mission/restricted-sum/ リストの合計を求めよ。ただし、コード内で以下の用語は使ってはならない。(禁止ワード) sum, import, for, while, reduce sum(data) で済むことを、あえて他のやり方で書か…

Python3.3でnoiseモジュールを使う

※CheckiOとは全然関係ない内容ですパーリンノイズ(Perlin Noise)を生成するモジュール noise を使う必要があったので、使い方をまとめてみた。 使用環境は Python3.3.3+Windows7

Brackets (Electronic Station) 括弧をチェック

どんな問題? Brackets http://www.checkio.org/mission/brackets/いつものように、ストーリーは華麗にスルー。 数式で正しく括弧が使われているかをチェックせよ。 数式は'((5+3)*2+1)' のような文字列 数字や記号は無視する 括弧は { } ( ) [ ] の3種類 正…

Numbers Factory (Electronic Station) 数字を因数分解して再構成

Homeの次は、左下にある Electronic Station に行くことにした。 最初の問題は、Numbers Factory http://www.checkio.org/mission/number-factory/ どんな問題? 各桁の数字の積がNに等しくなる最小のXを求めよ。 Xが存在しなければ0を戻せ。 例えば、N=20 …

Open Labyrinth (CheckiO > Home)  迷路の探索

どんな問題? Open Labyrinth http://www.checkio.org/mission/open-labyrinth/12x12の迷路を探索する問題。スタート地点は座標(1,1)、ゴールは(10,10)となっている。 迷路データは、1が穴、0が道として定義されている。スタートからゴールまでのルートを 'S…

Roman numerals (Check iO > Home) 数字をローマ数字に変換する

いよいよ、あと2問で Home Station(最初の島)が終わる。いつの間にか、周辺の島がアンロックされていて、Homeの次はどこに行こうか楽しみだ。 どんな問題? Roman numerals http://www.checkio.org/mission/roman-numerals/数字をローマ数字(I,II,III,IV..…

Xs and Os Referee (Check iO > Home) の続き

他の人の答え あれこれ他の人の解答を見てみた。やっぱり私の答えは無駄が多かったかな。まず、縦横斜めのチェックは、一つずつ判定するより、縦+横+斜めのリストを作ってから、リスト内に'XXX'や'OOO'があるかを調べた方が簡単だ。例えば、引数が ['X.O',…

Xs and Os Referee (Check iO > Home)

Xs and Os Referee http://www.checkio.org/mission/x-o-referee/ 問題の前に… いまさらだが、Check iO なのか CheckiO なのかどっちなんだ?サイトのロゴ画像では「Check」と「iO」の間にスペースが入ってるように見えるけど、サイトの文章ではCheckiOで統…

Speech Module (Check iO > Home) の続き

他の人の答え [100の桁、10の桁、1の桁] というようにリストを作っておいて、最後に ' '.join(lst) としている人も多かった。この「文字列.join(リスト) 」スタイルもPythonの使い始めは違和感があったなぁ。いくつか見ていると、まったく意味不明なものがあ…

Speech Module (Check iO > Home)

どんな問題? 長々とストーリーが書いてるけど、英語苦手なのでスルー。ようするに、数字を英語に変換するだけの問題だ。数字は 0 例はこちら checkio(4)=='four' checkio(143)=='one hundred forty three' checkio(12)=='twelve' checkio(101)=='one hundre…

Feed Pigeons (Check iO > Home)

どんな問題? この問題はかなり手間取った。鳩にエサをやる問題なんだが、なかなか状況を理解できなかった。 まず鳩について。最初(1st minute)は鳩が1匹いる。1分後(2nd minute)には新たに2匹がやってきて合計3匹になる。さらに1分後(3rd minute)には新たに…

The Most Wanted Letter (Check iO > Home)

どんな問題? 与えられた文字列から、最頻出の文字を返す。例えば、"abbccc"なら、aが1回、bが2回、cが3回出てくるから、答えはc となる。 大文字小文字は区別しない。答えは小文字とする。 記号、スペースは無視すること。 答えが複数ある時は、アルファベ…

House password (Check iO > Home)

どんな問題? 説明文が英語長文で読む気がしないが、要するに、与えられたパスワードが有効かどうかを判定すればよい。 有効なパスワードとは、 10文字以上 1文字以上の数字を含む 1文字以上の英字大文字を含む 1文字以上の英字小文字を含む というもの。例…

Median (Check iO > Home)

どんな問題? 2問目は、メディアン(中央値)を求めるというもの。例を見てみよう。 checkio([1, 2, 3, 4, 5]) == 3 checkio([3, 1, 2, 5, 3]) == 3 checkio([1, 300, 2, 200, 1]) == 2 checkio([3, 6, 20, 99, 10, 15]) == 12.5全ての要素の中央値を求めれ…

Non-unique Elements (Check iO > Home)

どんな問題? 最初の問題は、Non-unique Elementsという名前だった。ようするに、ユニークでない要素だけを抽出すればいい。いくつかの例が示されている。 checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3] 1と3はリストの中に2回ずつ出てくるから残す、2は1回しか…

CheckiO始めました。ついでにブログも始めました

はてなブックマークでCheckiOというサイトを知った。 プログラマーのみが登録できるサイトで、ゲーム感覚でプログラムの勉強ができるというもの。登録するには、簡単なPythonのコードを書く必要があって、クリアできないとアカウントすら作らせてくれない。…