読者です 読者をやめる 読者になる 読者になる

強くなるためのプログラミング -様々なプログラミングコンテストとそのはじめ方-

みなさんは何のためにプログラミングをしていますか? 仕事のため、何かをつくるため。それも良いけれど、「強くなる」ためにプログラミングしてみませんか。 様々なジャンルのプログラミングコンテストとまだ見ぬライバルたちがあなたを待っています。 今回…

Windowsのパスがうまく指定\表示できない問題 in Python

Mac/Linuxしか触ってなかった人生から一転、毎日Windowsを使うお仕事に就きました。 最近はちょっとしたツールをよく作るのですが、Windowsで1番悩まされてるのは、Windowsのパスが"\"で連結されていることです。例えばこんな感じのコードを書くと import o…

py2exeでPythonのスクリプトを実行ファイル(exe)にする【py2exe】

py2exeを使って、pythonのスクリプトをexeファイルにしましょう。 いくつかハマりポイントがあって大変だったのでまとめてみます。複数のハマリポイントではまった理由を追記しました(2017/03/13) Python バージョン: 2.7.10 pyexe バージョン: 0.6.9 python…

プログラマ日本一決定戦 CODE VS4.0 本戦と予選AIのおはなし #codevs

プログラマ日本一決定戦 CODE VS4.0 の本選の観覧に行ってきました。 CODE VS4.0 はゲームAIのコンテスト。 CODE VSとは日本中のプログラマが、 技術を競い合うプログラミングコンテスト 相手の隙を衝くアルゴリズム活用力と、的確なコーディング技術を競い…

CODE THANKS FESTIVAL A日程参加してきた #codefes

CODE THANKS FESTIVALに参加してきました。CODE THANKS FESTIVALは2014/11/8に行われたCODE FESTIVALに参加できなかった人たちのために開催されたオンサイトのプログラミングコンテスト+懇親会です。CODE FESTIVAL2014 | RECRUIT HOLDINGS -リクルートホー…

シンプルなファイルアップローダーをGoogleAppEngineで作る

研究でアンケートとか取るときに、 ファイルアップローダーがほしいことが何度もありました。 (スクショ添付してもらうとかしたい)だけど画像の保存とかデータベースとか意外とめんどくさい・・・。 でもでも、AppEngineを使えばちゃちゃっとファイルアッ…

Pythonではじめる競技プログラミング #pyconjp

PyConJP2014で競技プログラミングについてLTしてきました。 発表で出した問題と、主要な競技プログラミングのコンテストについて紹介したいと思います。 発表資料 発表で紹介した問題の回答について 発表でみなさんに考えてくださいと言った問題です。 単純…

pyenvとvirtualenvを使ってみる

昔pyenv使おうとしてうまく行かなくてpyenv恐怖症だったんだけど、 いい加減使えるようになろうと思って入門したのでメモみんなpyenvとvirtualenvって当たり前のようにいってて怖くて、 何が違うの?って感じだった。 pyenv pythonのバージョン切り替える vi…

女子大生が噂のLINE40万インターンに参加してきた

女子大生も女子大学院生も女子大生のうち。学生最後の夏は渋谷で青春してきました。 LINEインターン概要 "LINE Summer Internship 2014"募集開始! : LINE HR Blog 今年の夏に噂になっていたLINEインターンは、今年が初開催。B4~D2までの10人が参加しました…

SleepSortで遊ぶよ_(:3 」∠)_

SleepSortとは スリープソート バケットソートのバケツをメモリ空間の代わりに時間に置き換えたものである。 そのままの実装では要素の最大値分処理を止める必要があるので実用性はない。 by バケットソート - Wikipedia スリープソートって名前が可愛いです…

【Python】約分する関数

gcdをPythonの標準ライブラリに見つけた。 自分で書いても全然いいけど、あるから使っておこう。GoogleCodeJam の Round 1Cで約分をする必要がある問題がでてた。 p / q を約分する関数 計算量は O (log min(p, q)) ちなみにPythonのgcdの実装 def gcd(a, b)…

pipでCythonのインストールしようとしたらはまった

普通に pip install cythonすると、以下の様なエラーが出た error: command 'cc' failed with exit status 1 Quick fix to pip install error | MyGeekDaddyのあたりを参考にして sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-fut…

【Python】urlから画像をとってきてトリミングする

昔書いたコードを発掘した。画像urlから画像をとってきて、 指定したSIZE * SIZEの正方形にトリミングして表示する横縦の長さそれぞれ指定したいときは、_trimming関数をちょっと書き換えれば良い。OpenCV(python ver)が使えることが前提。*1 *1:OpenCV for …

【Python】Webページのimgタグから画像urlを抽出する

ちょっとWebページのimgタグ全部とってきて画像集めたいなーってなったのだけど、 相対パスとかあって意外とめんどくさかったのでメモ。※ lxml っていうライブラリを使ってます。 ひとこと あんまりちゃんととれてるかとか確認してないです。 適当に書いたの…

PythonのUnicodeDecodeErrorと戦った話

以下のエラーと戦った話。 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)結論だけ言うと、 str型とunicode型を混ぜるな!っていう話。 scikit-learnを使って文章をクラスタリング 今回は、以下の記事…

最大公約数と最小公倍数を求めるアルゴリズム

SRM611で、最小公倍数を求める必要があったので それを求めるアルゴリズム 最大公約数を求める これはユークリッドの互除法を使う gcdを使って最小公倍数を求める a,bは最小公倍数はa* bをa,bの最大公約数やつなので

素数と仲良しになる3つのプログラム

競技プログラミングでは、素数に関わる問題が多くある。例えば、ab は cdで割り切れるかどうか、という問題。 ただし a,b,c,dはそれぞれ109 まで。この場合普通にabは計算出来ない(10億の10億乗になってしまうので)。 そういう時はaとcを素因数分解していく…

クリスマス・イブに女子大生3人でハッカソンしたよ(・ω<)

クリスマス・イブ前日 @cocodrips :「暇だから明日はっかそんしよう」 @a_yagitter @mogumogu_panT 「やろうやろう!」 (10人くらいかけたけど2人しか釣れなかった) Xmas Contestに参加した Xmas Contest 参加したといっても、16時半くらいからみんなでA問題…

【SRM600】Div2 Easy, Medium 【Python】

記念すべきSRM600。 Div2ではTop20名ががTシャツをもらえたそうで・・・。 Tシャツもらえるくらいの実力ほしいです。 Easy 250 The company Manao Inc. cares for its employees and tries to provide them with as much comfort as possible. One of the s…

リクルートのプログラミングコンテストに参加してきた #rprocon

12/8のリクルートプログラミングコンテストにTOEICサボって参加してきました。 オンサイトでのプログラミングコンテストに参加するのは初めて。 前日に観戦に行っていた、 学生プログラマ日本一決定戦 - CODE VS 3.0(コードバーサス3.0) に来ていた人も何…

Pythonが大好きな女子大生がGoogleSWEインターンに参加するまでの話

PythonといえばGoogle!! (? そんなわけで先週末まで、 Googleのソフトウェアエンジニア(SWE)インターンに参加してきました。 本当は参加した内容について書きたいのですが、 どこまで話していいのかわからないので、 参加するまでの話をメインで書こうかと思…

【SRM597】Div2 Easy, Medium解いた【Python】

Div2 Easy 2倍しまくったら全部同じ数になるか You are given an tuple (integer) A. On a single turn, Little Elephant can double (i.e., multiply by 2) any element of A. He may double the same element more than once, if he wants to. He wants to…

TopCoder Pythonで挑戦してみた。【SRM595】

以前書いた、Python対応してるTopCoderプラグインを発見してめちゃくちゃテンション上がってる - ぴよぴよ.py の記事の通り、TopCoderのPythonプラグイン発見したので、 PythonでSRM595の問題を解いてみました。 いつもどおり1000点問題には挑戦してません。…

Python対応してるTopCoderプラグインを発見してめちゃくちゃテンション上がってる

この記事は古い情報です。 今現在はgreedというプラグインを使うのがオススメです!!(2014/10/20) 7月にTopCoderがPythonに対応してから、 ずっとプラグインを探してました。 ついに今日運命の出会いが(∩´∀`)∩ KawigiEdit ソースコードを外部から取り込…

【BeautifulSoup】ページのリンクを抜き出すの作った

Webページをスクレイピングしてリンクタグを取ってくるって Pythonの基本中の基本な感じですよね。研究でそんな感じのプログラムをかいたので、 ついでにWebページのリンクを取ってくるだけのゴミカスを作りました。ページのリンクを抜き出すだけ。良かった…

AppEngineで使用するポートを変更する

一度に2つ起動立ち上げようとしたらデフォルトのとこもう使ってますよ!って言われた。 デフォルトでは、ウェブ サーバーはポート 8080 を使うので、ポートを変更させた。 <パス>google_appengine/dev_appserver.py --port=ポート番号(8081とか) --admin_po…

【GoogleAppEngine】メール送信【Python】

GoogleAppEngine for Pythonでメールを送る方法ここをみて理解できた人はそれで問題ありません。とりあえず今回はweb.pyにメール送信部分をベタ書きしてあります。 htmlの中身 <form action="/mail" method="POST"> メールアドレス<input size="60" type="text" name="adress" placeholder="Emailアドレス"> タイトル<input size="60" type="text" name="title" placeholder="タイトル"> 内容</form>