プログラマのためのコードパズル
~JavaScriptで挑むコードゴルフとアルゴリズム
2014年2月4日紙版発売
2014年2月7日電子版発売
柳井政和 著
A5判/304ページ
定価2,618円(本体2,380円+税10%)
ISBN 978-4-7741-6253-9
ただいま弊社在庫はございません。
書籍の概要
この本の概要
本書は,プログラマによる,プログラマのための『コードの短さを競う「コードゴルフ」や,「アルゴリズム」の思考トレーニング集』。
設問を解いていくことで,プログラミングの考え方やおもしろさを実感できる一冊です。
好評を博しているリクルート運営のエンジニア向けWebサイト「CodeIQ」における著者作成問題を中心に,新規書き下ろしの設問も収録。「ミノタウロスもびっくり 迷路の自動生成」「自己相似な世界 フラクタルな図形を描く」等々挑戦したくなるような問題の数々&解説付きで,スキルアップ,トレーニングにも役立ちます。
こんな方におすすめ
- 力試しをしたいプログラマ,エンジニアの方
- パズルや頭の体操が好きな方
この書籍に関連する記事があります!
- コードパズルに挑戦して,論理的思考を養おう!
- 本書は,「コードゴルフ」と「アルゴリズム」で,プログラミングの考え方や面白さを体験していく書籍です。
目次
- はじめに
- introduction 「コードゴルフ」と「アルゴリズム」
- コードゴルフとは
- アルゴリズムとは
- プレイグラウンドとは
- Web ブラウザ+ JavaScript のプレイグラウンドで遊ぶ/ JavaScript の特徴/プレイグラウンドの仕様とコード/コードゴルフの文字数/コードゴルフ問題の基本コード/アルゴリズム問題の基本コード/共通コード
第1 部 まずは雰囲気を知ろう
1.1 コードゴルフ 問題1 アスキーアートで円を描こう①
- ヒント 言語使用面から文字を削る
- 解答例
- 成績をみよう
1.2 コードゴルフ 問題2 アスキーアートで円を描こう②
- 解答例
- プレイグラウンド
第2 部 シンプルな手順をコードに変換
2.1 アルゴリズム 問題1 素数をみつける不思議な“ ふるい”
- ヒント 図説エラトステネスの篩
- ヒント ループ処理と配列
- 解答例
- プレイグラウンド
2.2 アルゴリズム 問題2 山あり谷あり最短経路を探せ
- ヒント 図説地形コスト付きマップの最短経路
- ヒント 再帰(的)処理の実装
- 解答例
- ヒント 別解答・スタック処理の実装
- 解答例
- プレイグラウンド
第3 部 短く書くテクニックを知ろう
3.1 コードゴルフ コードを削減するテクニック
- JavaScript の言語仕様に沿ったテクニック
3.2 コードゴルフ 短縮化ツール
- 短縮化ツールを使ってみよう
3.3 コードゴルフ 問題3 ミノタウロスもびっくり 迷路の自動生成
- ヒント ボトルネックを探す
- ヒント 迷路を作るアルゴリズム
- ヒント コードゴルフ問題とランダム
- ヒント ランダムのアルゴリズム
- 解答例
- 番外編・迷路全体を文字列で持つというアプローチ
- 成績をみよう
- プレイグラウンド
第4 部 同じ目的を実現する様々な手法
4.1 アルゴリズム 問題3 計算式をコンピュータに理解させよ
- ヒント 計算式を整理する
- 解答例
- プレイグラウンド
4.2 アルゴリズム 問題4 画像を“ びよ~ん” と拡大しよう
- ヒント 画像の拡大縮小アルゴリズム
- 解答例
- プレイグラウンド
第5 部 短いコードで複雑な世界を出力
5.1 コードゴルフ 問題4 自己相似な世界 フラクタルな図形を描く
- ヒント 「for」文に注目
- ヒント フラクタルな図形
- 成績をみよう
- プレイグラウンド
5.2 コードゴルフ 問題5 山・平地・海 ワールドマップを生成する
- ヒント 変数と「for」文
- ヒント ワールドマップ生成
- 成績をみよう
- プレイグラウンド
第6 部 限られた情報から全体を想像する
6.1 アルゴリズム 問題5 燃料を節約して未知の地形を踏破せよ
- ヒント マップを言語化する
- ヒント マップ生成のアルゴリズムを読み解く
- プレイグラウンド
6.2 アルゴリズム 問題6 暗黒惑星での戦い 敵を索敵して撃滅せよ
- ヒント 砲撃の場所を考える
- ヒント マップ生成のアルゴリズムを確認する
- ヒント 計算量を削減する
- プレイグラウンド
第7 部 問題を作ってみよう
7.1 コードゴルフ問題を作成する
7.2 アルゴリズム問題を作成する
- おわりに
- 参考資料
この本に関連する書籍
-
あなたの知らない超絶技巧プログラミングの世界
「役に立たないプログラムには価値がない?」 「プログラミングは仕事以外でやりたくない?」 本書には,アスキーアート化,自己生成,縛りのあるプログラミングなど...
-
JavaScript 仕事の現場でサッと使える! デザイン教科書
Webデザイナー養成講座シリーズは,プロのデザイナーとして仕事をする上で,必須のスキルを身につけるためのシリーズです。本書では,JavaScriptをこれから学習する初級...
-
JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで
最も手軽でありながら,いまやネットのプログラミングに最も欠かせないJavaScriptの見落としがちな基礎から応用までしっかり解説。オブジェクト指向をベースにしたモダ...