パーソナルブログメモリ

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

Pythonで良問を解いてみる

2021-08-01 | プログラムをマスター計画2021

夏の暑さのせいなのか、東京のさんたんたる現状のせいなのか、このところ気力がスーッと抜けている。

CodinGameの練習問題も難しいのばっかり残っていて、さっぱり解けない。

 

そこで簡単な方の部類に入る Clash of Codeの問題を 競わないで解いてみます。

この画面から承認された問題をみれます。

ここで最近承認された問題でScoreが10以上のもの対象で

後は問題の概略と解き方を2,3行ずつで記録してみます。

 

 

問題1

文字列の数値の数を答えます。

コメント内は数えないようです。

 

/*   */内がコメントのようです。

コメント削除はfindで発見してスライスでカットしています。

 

 

問題2

数値の範囲が被っているか判定します。

これだけなのですがgoogle翻訳に頼ってます。

 

あえて、集合を使ってみました。

 

 

問題3

数値の中から被っていてなおかつ素数を抽出する問題。

こういった問題でアリスとボブという名前をわりとみかけます。はじめてゲームプログラミングもそうだったし。

 

素数判定かれこれ500回以上作っている気がします。

0の時 間違えてます。

 

 

問題4

フラクタルなパターンを作成する問題

各ターン、これまでの単語を2倍にして、間に新しいキャラクタ一文字を入れるようです。

 

問題の理解に時間がかかるパターンです。

 

 

問題5

しばらく呆然とした問題

レシピを表示するようです。分割の仕様が独特なので微調整

 

"+"を ord(",") , ord(" ")の数値に変換しておけば

もっと簡単でした。

 

 

問題6

化学式から元素名を抽出する問題

アルファベット大文字が区切りになります。小文字はそえます。

 

当初、元素記号を抽出して集合型にしてからリスト型に戻してみたのですが

順番が入れ替わったので重複していない時に追加する別リストを作成しています。

 

 

問題7

アリスがタスクに飽きた回数と持続できた最長を答える問題です。

 

各アルファベットが1つのタスクのようで、

分割された数 - 1が飽きた回数ということを理解するのに手間取りました。

 

 

2時間で20問ぐらいを目標にしていたのですが、

集中力さっぱりでなくて、7問でタイムアップです。(途中サーモンラン一回遊ぶ)

 

 

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。