- ホーム
- > 和書
- > コンピュータ
- > プログラミング
- > SE自己啓発・読み物
出版社内容情報
パズル問題を解いて、プログラミング力を鍛えよう!「ITエンジニア本大賞」受賞作、待望の続編が登場!全国のプログラマを悩ませたパズル集、待望の新作!
問題を解きながら、楽しくアルゴリズムを身につけよう
【本書の特徴】
・パズル問題をソースコードで解く
・楽しみながらプログラミングが上達
・4人のキャラクターによるやさしい解説
・アルゴリズムを深く理解できる
※初歩的なアルゴリズムの知識があることを前提としています
【本書で使用する言語】
Ruby/JavaScript
※すべての問題で、上記2つの言語の解答を掲載しています
※どの言語でも活用できるような解説の仕方をしていますが、上記のどちらかを習得していると、より理解しやすくなります
【内容紹介】
コンピュータを取り巻く環境は日々、大きく変化しています。
そんな時代の変化の中でも、変わらずに
重要とされているのが「アルゴリズム」です。
効率よく処理するプログラムを作成するには、
アルゴリズムを工夫することが求められています。
本書は、さまざまな数学パズルを解くことにより、
「よいアルゴリズム」を身につけることを目的としています。
一筆書きや組み合わせなどの定番問題から、
「サンタクロースが効率よく家を回るには?」
「カップルを隣同士に並ばせない席順は?」といったものまで、
楽しみながら思考が広がる問題を70問用意しました。
【目次(抜粋)】
★序章 パズル問題を解くコツ
★第1章 入門編 素直に実装して感覚をつかもう
Q01:一発で決まる多数決
Q02:山手線でスタンプラリー など
★第2章 初級編 メモ化などを使って処理時間を意識しよう
Q20:酔っ払いの帰り道
Q37:ダイヤルロックを解除せよ! など
★第3章 中級編 数学的な工夫を考えて処理を高速化しよう
Q40:沈みゆく島で出会う船
Q43:隣り合えないカップル など
★第4章 上級編 複雑な処理を正確に実装しよう
Q63:永遠に続くビリヤード
Q65:n-Queenで反転 など
【目次】
★第1章 入門編 素直に実装して感覚をつかもう
Q01:一発で決まる多数決
Q02:山手線でスタンプラリー
Q03:ローマ数字の変換規則
Q04:点灯している量で考えるデジタル時計
Q05:枚数で考えるパスカルの三角形
Q06:長方形から作る正方形
Q07:ファイルの順番を元どおりに戻したい!
Q08:セルの結合で一筆書き
Q09:ナルシシストな8進数
Q10:アダムズ方式で議席数を計算せよ!
Q11:オリンピックの開催都市投票
Q12:円周率に近似できる分数
Q13:並べ替えの繰り返し2
Q14:現地で使いやすい両替
Q15:幅優先の二分木を深さ優先探索
Q16:既約分数はいくつある?
★第2章 初級編 メモ化などを使って処理時間を意識しよう
Q17:グループで乗るリフト
Q18:非常階段での脱出パターン
Q19:バランスのよいカーテンフック
Q20:酔っ払いの帰り道
Q21:本の読み方は何通り?
Q22:百マス計算で最小のマスをたどると?
Q23:セミナーの座席を整列させろ
Q24:予約でいっぱいの指定席
Q25:左右対称の二分探索木
Q26:回数指定のじゃんけん
Q27:大家族でチョコレートを分けるには
Q28:パターゴルフのコース設計
Q29:公平に分けられたケーキ2
Q30:交互に取り合うカードゲーム
Q31:ソートされないカード
Q32:乗客のマナーがよすぎる満員電車
Q33:ホワイトデーのお返し
Q34:左右に行ったり来たり
Q35:かしこい幹事の集金術
Q36:上下反転した数字
Q37:ダイヤルロックを解除せよ!
Q38:全員が大きく移動する席替え
★第3章 中級編 数学的な工夫を考えて処理を高速化しよう
Q39:隣り合うと消えちゃうんです
Q40:沈みゆく島で出会う船
Q41:スタートメニューのタイル
Q42:大忙しのサンタクロース
Q43:隣り合えないカップル
Q44:3進法だとどうなる?
Q45:一筆書きの交点
Q46:一筆書きでクルクル
Q47:圧縮できるパターンは何通り?
Q48:均等に分配されるカード
Q49:番号の対応表で作るグループ
Q50:戦闘力で考えるモンスターの組み合わせ
Q51:連続する桁の数字で作る平方数
Q52:一列に並べたマトリョーシカ
Q53:重さが素数の荷物を運ぶエレベーター
Q54:素数で作る天秤ばかり
Q55:十文字に反転して色を揃えろ
Q56:回数指定のじゃんけん2
Q57:急行停車駅と特急停車駅のパターン
Q58:ポーランド記法と不要なカッコ
Q59:取られたら取り返す!
Q60:○×ゲームの結果画面は何通り?
★第4章 上級編 複雑な処理を正確に実装しよう
Q61:互い違いに並べ替え
Q62:壊れたピンチハンガー
Q63:永遠に続くビリヤード
Q64:最短距離で往復できる形は?
Q65:n-Queenで反転
Q66:整数倍の得票数
Q67:迷路の最長経路
Q68:Base64で反転
Q69:ファイル数が異なるフォルダ構成
Q70:他人と同じ商品は選ばない
増井 敏克[マスイ トシカツ]
著・文・その他
内容説明
本書は、さまざまな数学パズルを解くことにより、「よいアルゴリズム」を身につけることを目的としています。一筆書きや組み合わせなどの定番問題から、「サンタクロースが効率よく家を回るには?」「カップルを隣同士に並ばせない席順は?」といったものまで、楽しみながら思考が広がる問題を70問用意しました。Ruby/JavaScript完全対応。「パズル問題を解くコツ」も掲載。
目次
序章 パズル問題を解くコツ
第1章 入門編―素直に実装して感覚をつかもう(一発で決まる多数決;山手線でスタンプラリー ほか)
第2章 初級編―メモ化などを使って処理時間を意識しよう(グループで乗るリフト;非常階段での脱出パターン ほか)
第3章 中級編―数学的な工夫を考えて処理を高速化しよう(隣り合うと消えちゃんうです;沈みゆく島で出会う船 ほか)
第4章 上級編―複雑な処理を正確に実装しよう(互い違いに並べ替え;壊れたピンチハンガー ほか)
著者等紹介
増井敏克[マスイトシカツ]
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ITエンジニアのための実務スキル評価サービス「CodeIQ」にて、アルゴリズムや情報セキュリティに関する問題を多数出題。また、ビジネス数学検定1級に合格し、公益財団法人日本数学検定協会認定トレーナーとしても活動。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行っている(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
感想・レビュー
※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。
ふじ
roughfractus02