「プログラマ脳を鍛える数学パズル」でGolang入門 1問目(10進数で回文) 解答編
普段はJavaプログラマな私が「プログラマ脳を鍛える数学パズル」の問題を解いていく中で、Golangに入門していく記事となります。
プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問
- 作者: 増井敏克
- 出版社/メーカー: 翔泳社
- 発売日: 2015/10/16
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
コードを解くに当たって、参考にしたページなども合わせて記載してみる。
では早速、1問目。
といきたいところですが、問題文の提示等が著作権的に問題がありそうなので、思考過程(文法の調査)と答えのみ載せます。
どのような問題かは書籍を購入してご確認ください。
1.まずは基本的な文法から勉強。
問題を解くに当たっては、Goの文法が全くわからないということで、入門記事を漁ることに。
「A Tour of Go」が良いと以下の記事に書いてあったので、そこから始めてみた。
qiita.com
以下の2つの章を写経し、今回やりたい処理は事足りるかなと思い、問題に取り掛かることに。
A Tour of Go
・Packages, variables, and functions.
・Flow control statements: for, if, else, switch and defer
A Tour of Go
2.数字から文字列の変換方法を調べる。
以下の記事を読み、「strconv.Itoa」メソッドだといけそうだなと判断。
matope.hatenablog.com
3.10進数から2進数、8進数への変換方法を調べる。
以下の記事を読み、「fmt.Sprintf」で変換はできそうだと判断。
逆引きGolang (数値)
4.文字列を逆にする方法を調べる。
以下の記事を読み、この方法でいけばできそうだなと考える。
Go言語で文字列を逆順に並び替える - 雑記
runeの配列生成時のコンストラクタに文字列を入れると、文字がそれぞれ分解して配列になる?
一旦実装しきってから確認しよう。
→lenメソッドはbyte数を返す。
→よって、byte毎に配列に格納されているよう。
5.実装。
実装完了。
もう少し慣れてきたら、APIリファレンスだけを読みながら実装できるようにしよう。
6-0.実装後の疑問点潰し(深堀り)
Golangの文法の深掘りについては、別記事を書く予定。
おまけ
2問目も頑張ります。
- 作者: 古川昇
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2015/07/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
- 作者: Mat Ryer,鵜飼文敏,牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/01/22
- メディア: 大型本
- この商品を含むブログ (2件) を見る
- 作者: 松尾愛賀
- 出版社/メーカー: 翔泳社
- 発売日: 2016/04/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る