JavaScriptで10の練習問題 #1
言語習得用の練習問題を、JavaScriptで出来るところだけ(仕様的な意味で)やってみます。
新しくプログラミング言語を覚えたいときに行うべき10の練習問題
自分ルール
- 実行速度は気にしない・最適化しない
- コードの短さ・綺麗さは気にしない
- ネタ元の練習問題はあくまでもネタ元
こんな感じでゆる〜く。
まずは、一つ目
ナベアツに似ている。取り敢えずナベアツがやってみたいのでナベアツにする。
3の倍数と3が付く数字の時にアホになるオーソドックスなタイプ(数字は40で終る)。
- ループで1〜40まで回す
- 数値を文字列にせず頑張る
- 2パターン考える
こんな感じでいってみましょー。
1.配列で無理やり感タップリなパターン
var study_01_a = function () { var ahos = [], str = ''; ahos[3] = 'さぁ〜ん'; ahos[6] = 'ろぉ〜く'; ahos[9] = 'きゅ〜う'; ahos[12] = 'じゅ〜に'; ahos[13] = 'じゅ〜さん'; ahos[15] = 'じゅ〜ご'; ahos[18] = 'じゅ〜はち'; ahos[21] = 'にっじゅいち'; ahos[24] = 'にっじゅし'; ahos[27] = 'にっじゅなな'; ahos[30] = 'さ〜んじゅ〜'; ahos[31] = 'さ〜んじゅいち'; ahos[32] = 'さ〜んじゅに'; ahos[33] = 'さ〜んじゅさん'; ahos[34] = 'さ〜んじゅし'; ahos[35] = 'さ〜んじゅご'; ahos[36] = 'さ〜んじゅろく'; ahos[37] = 'さ〜んじゅしち'; ahos[38] = 'さ〜んじゅはち'; ahos[39] = 'さ〜んじゅきゅ'; ahos[40] = 'よんじゅ〜!'; for (i = 1; i <= 40; i++) { str += (ahos[i] ? ahos[i] : i) +"\n"; } alert(str); };
個人的にはこれがしっくり来る。
2.40以下が絶対条件のパターン
var study_01_b = function () { var aho, str = ''; for (i = 1; i <= 40; i++) { aho = i - 30 >= 0 && i - 30 <= 9 ? 'すーぱーあほたいむ' : i % 3 == 0 ? '倍数のあほ' : i - 10 == 3 || i - 20 == 3 ? '3が付くあほ' : ''; str += i +':'+ aho +"\n"; } alert(str); };
40以下じゃないと即破綻する。
こんな感じで次回も頑張ってみたいと思います。