分2013年12月2日より開始したpaizaオンラインハッカソンVol1「新人女子の書いたコードを直すだけの簡単なお仕事です!」ですが,おかげ様で1週間で15,000ものコード提出を頂けています。今回は皆さんのチャレンジの様子について中間レポートをお届けします。paizaオンラインハッカソンVol1https://paiza.jp/poh/ec-campaignpaizaオンラインハッカソンとは?「paizaオンラインハッカソン(略してPOH![ポー!]⁠)⁠」はオンラインで誰でも気軽に参加できるハッカソンを目指しているので,とくに会員登録などをしなくても参加できるような仕組みとなっています。このハッカソンは,1つの課題に対してどのようにコードを書くかより深く考えるきっかけになればと思って企画しました。競技プログラミングではないので,Twitterやブログ,Githubなどでの解法の公開はとくに制限していません。みんなでどうやったらより実行速度の速いコードが書けるのか議論していただき,学びの機会にしていただければと思っています。野田さんという新人女子プログラマーが書いたコードを直す,というストーリーになっており,一見ネタ臭が漂う企画となっていますが,通常こういったプログラミングの企画だと,上級者を対象にした敷居の高い競技プログラミングや,凄腕の人ばかりあつまるハッカソンとなってしまいがちなので,敷居を下げつつ,実行時間を早くしていく過程での学びや楽しさを共有できればと思い企画しました。100点への道のりpaizaオンラインハッカソンVol.1では,提出コードに対して3つのテストケース(小,中,大)を入力してそれぞれの実行時間が結果画面で表示されます。今回のハッカソンでは遊び方は自由なのですが,まず100点を目指すベーシックなものと,100点を取った後に一番重いテストケースであるテストケース3でどこまで速くなるかを競う遊び方,すべてのテストケースで0.01を出す遊び方,最遅タイムを更新する遊び方などがあります。100点を取るためにはまず3つのテストケースをタイムアウトせずに制限時間内(言語によって異なります)で通す必要がありますが,とりあえず動くプログラムを書くだけだとテストケース2,3を通すのが難しい設定になっています。とある方のPHPでのチャレンジ記録をグラフ化すると下記のような感じでタイムを削っていっているのがわかります。最初はテストケース1しか通っておらず,テストケース1の処理に4.15秒かかっています。その後4回目の提出では6.82秒という最遅タイムを出してしまいますが,8回目の提出ででテストケース1が1.67秒,テストケース3が6.03秒と100点を取っています(※テストケース2を図に入れると見にくいため省いています⁠)⁠。17回目の提出でテストケース1で0.01を叩き出すに至っています。テストケース1の最速(0.01秒)と最遅(6.82秒)を比較するだけでも,実に682倍も高速化できたことがわかります。C#最速0.03秒への道のり次にC#で一番重いテストケース3で最速タイム0.03秒(2013年12月13日現在)を出した方のチャレンジ記録です。12月13日現在テストケース3での最速タイム(C#)この方は実に276回もチャレンジしていただきました!初回提出からテストケース3まで通っており100点ですが,その時点でテストケース3は0.48秒の実行時間。ここから13回目の提出で0.17秒,126回目の提出で0.09秒,196回目の提出で0.03秒まで縮めてきており頭が下がります。C#でテストケース3の実行時間が0.03秒は,この原稿を書いている2013年12月13日現在最速のタイムとなります。やったら早くできる?現在下記のようなブログでさまざまな解法が掲載されていますので,まずは自分の力だけで試して,そのあとこれらのブログ等を参照して最速タイムを目指してみてください!2014年1月8日のイベント期間終了後には,各言語の最速コードについても開示していく予定です。高級アセンブラPaizaとはI/OゲーであるPaiza,そのI/Oゲーを越えてpaizaオンラインハッカソンVol.1のはなしpaizaやってみました野田さんが困ってたので下心で助けた野田さんが可愛かったのでpaizaオンラインハッカソンVol.1に参加してみた。perlで頑張って新人女子を助けた。#paizahack_01新人女子の書いたコードを直すだけのお仕事におけるTips(Python編)アルゴリズム初心者にはこちらもおすすめです!いちばんやさしいアルゴリズムの本paiza主催paizaオンラインハッカソン(略してPOH![ポー!])2013年12月2日AM11:00から2014年1月8日23:59まで。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。