パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Rustの達人に遭遇する

2021-11-28 | 速攻で言語マスターしてみませんか
こんな問題を競う。   スペース区切りの文字列とスペース区切りの単語集がある。 大文字小文字関係なく文字列の単語が単語集にあればその文字数を*で置き換えたものを答える。   3分37秒後に先に解かれる。Rustでこれだけのソースを...   4分23秒 Python3で解いたソース 見比べればわかりますが、Rustだと難易度は3倍は高くなります . . . 本文を読む

正規表現 s=s.replace(/(.)\1+/g,"") を解析

2021-11-28 | 速攻で言語マスターしてみませんか
こんな問題に遭遇しました。   文字列が与えられ、同じ文字列がつながっていたら削除していきます。最後に残る文字を答えてください。 ただし一回の削除は同時に行っていきます。   aab -> b aabba -> a bbaab -> b    ※ bbb -> "" とはならない aaabbabbac -> aac -> a . . . 本文を読む

CodinGameのPRACTICEの解き方4 文字列操作で未知のゲーム、スラカルタに挑む

2021-11-17 | 速攻で言語マスターしてみませんか
インドネシアの奥深く、かつて王朝から名を取ったスラカルタ、現地での名前はPermainan意味はゲーム。 相手の駒を取る時に端にあるループを一回は通らないと駒が取れないという。世界唯一のルールらしい。 この未知のゲームに前回ここで紹介した文字列操作と関数、if、for、whileというシンプルな構成で解いて みます。   前回の文字列操作に関して Python3なら文字列操作 . . . 本文を読む

Python3なら文字列操作を400文字で説明できます

2021-11-17 | 速攻で言語マスターしてみませんか
Python3が流行っているのは簡潔さが大きな理由だと考えています。基本をプログラムにまとめてコメントもつけてみて、文字数 20x20文字の原稿用紙一枚400字以内にできそうだなと思ったので収めてみました。     実行結果です。   追記 p(s.count("l"))    #文字数を求める p(len(s))  . . . 本文を読む

CodinGameのPRACTICEの解き方3 実際に書いてみたり寝かしたりして解く

2021-11-17 | 速攻で言語マスターしてみませんか
今回挑んでみたのはこちら、中級でsuccess rateは低め、右隅にある評価はかなり高いです。 問題はよくある歯車問題、歯車がの座標、半径が渡されてきて、データの最初の歯車が時計回りのときデータの最期の歯車は? 時計回り 半時計回り 動かない いずれかを答えます。この問題テストケース04のJammedに悩まされました。問題に記載 がありません。つまるというのがどういった状態なのかわ . . . 本文を読む

CodinGameのPRACTICEの解き方2

2021-11-15 | 速攻で言語マスターしてみませんか
今回はこちらの問題に挑んでみます。Easyですがsuccess rateがかなり低めです。 Midium級の問題と想定したほうがよさそうです。   これぐらいの長さの英語だとパット頭に入ってこなそうなので即翻訳にかけます。 クライアント、サービス、インスタンス、メトリック、リアルタイム、スケーリング メトリックはよくわからないのでそのまま読み飛ばします。   . . . 本文を読む

CodinGameのPRACTICEの解き方

2021-11-15 | 速攻で言語マスターしてみませんか
まず問題文がわからない時、google翻訳に依頼します。それでもよくわからない時は2つを見比べます。 にらめっこしているとなぜかなんとなくわかります。わからない数学的な用語は検索します。ここだと基数 とかパッとわかる人はあまりいなのではないかと思います。   ここでは何度も読み比べ 整数ソリッド...数字0を使用する必要はありません。 ー> 整数ソリッド...数字0を使用できま . . . 本文を読む

Python3 4年前と現在のプログラム 配列の追加した後にソート、 配列の隣の数値との差分の絶対値が最小のものを求める

2021-11-07 | 速攻で言語マスターしてみませんか
OCamlというラクダにのって砂漠をさまよっていると4年前のソースを発見しました。 砂漠をさまよって自信をなくしつつあったのでちょっと休憩。   4年前がこちらです。     今だとこんな感じです。 コメントと未使用ライブラリを取ります。 1行目 最初に読み取った数だけ さらに読み取って数値化して 配列に入れていき ソートしてhoに入れます。 2 . . . 本文を読む

はやとちりする

2021-11-05 | 速攻で言語マスターしてみませんか
新しい問題があがっていたので解いてみました。 最期まで、まったく意味を履き違えて...   サイコロの問題で回すのかな。 答えるのは一文字 forward? ダイスの左端が先端かな と解答を作ったのがこちらです。 まあ6分の1の確率でヒットしているようです。   実際はもっと面倒 このダイスの中を向きをかえてさまようようです。 . . . 本文を読む

C言語の旅(文字列をsplitして配列に入れ、それを逆から表示するような事をする)

2021-11-04 | 速攻で言語マスターしてみませんか
最初はC言語の検証から   いろいろ悩んだ末に完成したのがこちら。 必要もないことを、古い言語で... なんとなく18切符で旅をしているような、懐かしい気持ちになりました。     平たい版 #include <stdlib.h> #include <stdio.h> #include <strin . . . 本文を読む

温故知新 C言語系列の3つのテストを受けてみる

2021-11-03 | 速攻で言語マスターしてみませんか
C言語の古い言語は文字列操作が大変、この頃の苦労があって少しずつ改善されて今がある。 残っている言語でかろうじてできそうなものをテストしてみました。     D言語 調べてみるとかなりC言語 autoがちょっとありがたい。 テストでは、文字列の数値化で少し時間を取られました to!int(s) これはいったい。 100点で上位1%     . . . 本文を読む

プログラム言語で上位1%になる方法

2021-11-02 | 速攻で言語マスターしてみませんか
類似系の言語なら、2時間でマスターできます。   今日はPascal、Kotlin、Scala、groovyに挑戦してみました。 最初はチートシートを作って挑んでいたのですが、慣れてくると使ったことのない言語でも その系統の言語をやっていれば、サイトを5つぐらい事前に探しておいて、 ループと条件分岐の知識が必要なTutorial問題を解けばなんとかなります。   . . . 本文を読む

Free Pascal 3.2.2 に挑んでみる

2021-11-02 | 速攻で言語マスターしてみませんか
先程、作成した問題をFree Pascal 3.2.2 で解いてみました。 はまった点を思い出として書き残しておきます。     PascalはBasicと同じで イコール判定は = です。 :=よく:を忘れました。   StringReplaceを使いたかったのですが、使い方がよくわからず自前で作成してみました。 同じでないはPascal . . . 本文を読む

45分の言語テスト

2021-11-02 | 速攻で言語マスターしてみませんか
CodinGameでいろいろな言語でテストを受け、 問題の傾向のようなものをつかめた気がするので問題を作ってみました。 45分で解いて90点以上ならプログラマーの上位1%、60点以上なら上位10%ぐらいです。 (だいたいそんな感じでした。ただ日本人は優秀なので日本だと少し下がると思われます)   テストケースを渡して、解答を判定するルーチンは作れないので、そこは自己作成、自己判 . . . 本文を読む