少なくとも平成の初期頃に受けていた一般教養の課題よりは難しいです
ヒットアンドブロウ(hit&blow)というゲームの簡単な解法例です
CodinGameというサイトのゲームを利用しています
トップからCOMPETE > OPTIMIZATION > Bulls and Cows 2
同じ数字のない数列を出題者が考え、解答者が推測するゲームです
ま . . . 本文を読む
月曜の丑三つ時にまたソースバトルに挑んでみました。
今回はC#
準備を少ししてます。(JavaScriptの問題の時にネットでググった言語のちょっとした変換などを事前調査)
配列とソートもう少し下調べしておくべきでした。
参考になりそうな問題と 他の人の解答、Python3で解いたものを残しておきます。
問題
スペ . . . 本文を読む
まとめから
<2次元配列>
(1) 定義
arr=[];
(上のソース間詰まってますがこんなイメージ)
arr=[ ];
(2) 追加
arr.push("abcdefg");
arr.push("hijklmn");
(3) 列 . . . 本文を読む
JavaScriptで配列に数字があるかを判定するのにinを使ったら想定と違っていてハマった。
indexOfで判定するらしい。(存在したら-1以外になるのを利用)
6 in arr1はarr1の配列の6個目があるか判定する。out of index防止にいいのかも。
var arr1 = [1,2,3,4,5,7,8,9,11,13,16,17,19];var arr2 = . . . 本文を読む
次の2行のプログラムをみて、意味が理解できるなら、あなたは中級者以上です。
<プログラム>
<問題>
3つの文字列の単語の数が5,7,5ならHAIKUと答える問題を解くプログラムです。
単語のセパレータはハイフンかスペース、単語にアルファベットが必ず入ります。
[問題 CodinGame HAIKU DETECTORより]
< . . . 本文を読む
お互いに白黒の駒を2列ならべる。
自分の駒は前と斜め前に空白があれば進められ一手ずつ動かせる。
斜め前はさらに相手の駒があったら取って進めることができる。
相手の一列目に先に入ったほうが勝ち。
ルールを把握した時、少しラグビーのルールに似ていると感じました。
相手の手が渡され、それに対してこちらの手を返すプログラムを作成しています。
最初に作成したのがこ . . . 本文を読む
素数には不思議な魅力があるらしく
度々、素数を作らされる。最新の値を発見すると賞金もでるらしい。
昨日の素数の問題を解いていて巨大な素数つくれるのではないかと作ってみました。
1万まではあっという間なのですが、1万から1億までの計算だといつ終わるのか
サッパリわからないので100000番目ごとに値と計算時間を表示させています。
1億から1京だと素数の計算テーブル数も575 . . . 本文を読む
プログラムがわからない時はとにかく1つずつ簡単なものを何度も何度もためしていくと
少しずつ少しずつ道が開けていきコツを掴んでいきます。
わからないほど簡単なものから確認です。
失敗はすればするだけ後から役に立ちます。
同じ間違いを何度してもいいです。
何度もするというのはその言語の方にも問題があるかも知れません。
&nbs . . . 本文を読む
CodinGameからパズルのお知らせがあったので挑戦してみます。
15パズルのアルゴリズムはまったく作ったことがありませんでしたが、
その縮小版のパズルがあったので始めて作ってみました。
最短手数を探して、その手を動かすパネルの位置を横、縦の位置の順で一手ずつ表示します。
スライドは1つずつです。問題はあらかじめ最短手数を決まっている盤面を提示されるようです。
A* . . . 本文を読む
石の上にも3日ぐらい ということで、
以前Pythonで作成してgoに移植したものをさらにTypeScriptに移植してみました。
囲碁クエストの棋譜データから終局時の盤面を作成
go言語初心者が挑む(棋譜データから終局の盤面を作成、言語のポイント解説付き)
一番はまったのは16行目
let koma=board[p];だとundefinedという謎の値が入っていたのが原 . . . 本文を読む
Python3からAI Botのプログラムを移植してみて、
TypeScriptで配列、関数、構造体について使い方が少しわかってきました。
今後どこかで使うこともあるかもしれないので備忘録として簡易サンプルを作成してみました。
. . . 本文を読む
TypeScriptなかなかすごいではないかと思ったのもつかの間、
エラーメッセージとかも初見のものばかりでバグ取りが大変。
Python3の198ステップほどのプログラムの移植にまる一日かかってもまだ完全実装できてません。
TypeScriptを始めたきっかけはPython3の原作者がTypeScriptをかなり参考にしたという記事を見かけて
何?と思って . . . 本文を読む
TypeScriptで配列を扱うサンプルがみつからなかったので作ってみました。
JavaScriptのサイトを参考にしています。(JavaScriptでもそのまま動きました)
実行環境
ブラウザでCodinGameのサイトを利用しています。
node: 10.15.3
typescript: 3.5.2(おそらく)
実行結果
テ . . . 本文を読む
数日前にPython3で作成したものの移植
囲碁クエストの棋譜データから終局時の盤面を作成
一番悩んだのは文字列のn番目を取るためにs[n]とするとその場合バイトコードに変更されてしまうところ
(s[n:n+1]とスライスで取るとその一文字が取れます)
ループからのbreakはgotoを使いました。
あとはイテレータをループでまわすときにindexもついてくる . . . 本文を読む
6回目なのでノーヒント
その代わりプログラムは100点のもの限定です。
なんとなく見積もってみました。
ここまで6回のミニプログラムの制作費は安く見積もって10万円ぐらいです。(一企業に提供する場合)
テストケース、仕様があらかじめできているためで、そうでない場合は60万ぐらいにはなりそうです。
全120本として1日6本として20日 ちょうど1人日です。
ちょっと見積もり期間が . . . 本文を読む