パーソナルブログメモリ

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

Python 世界20カ国の(方々が作成した)問題を解いてみる

2022-12-08 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい

CodinGameのClash of Codeの承認待ちの問題

20の国の問題を訪問しているつもりになって解いてみました。

問題と回答を簡単にご紹介してみます。

 

1)ハンガリー

シーソーの指定位置xに子供(重さw)が座っていき、最期の一人の子供(重さm)が

シーソーのどこに座ったらバランスが取れるか答えます。

シーソーの長さは300で中央の位置は150です。バランスが取れない時は

「座れる所はありません」と答えます。

解いた中で計算問題としては一番でした。

 

2)チェコ

サイズsxsのマトリックスに数値があり、その縦の合計と横の合計を表示します。

 

3)ロシア

m行の数値が与えられます。

2の倍数なら2倍、それ以外は3倍にして表示します。

 

4)チュニジア

1を数えます 2進数に変換して

 

5)カナダ

1つずつふえる数列がバラバラにわたされますが、1つだけ数字が足りません

その数値はズバリ!

 

6)サウジアラビア

カンマを3桁ずつ適切に入っているか調べる問題

1つ足すか1つ取って適切になるならその位置(取る場合は-にする)

不可能なら「不可能」を表示

一番苦労しました。

 

7)イギリス

四角の建築物を作成します。

問題文は読んでいなくて、テストケースから推測して作成して最後にアンチパターンを

置き換えして解いています。(8行目)

出題者のアイコンはマインクラフト人でした。

 

8)ベネズエラ

幕の内一歩とアルフレッド・ゴンザレスのリーチとその効果範囲を計算して

リーチの2倍以上なら「進め!!!」、効果範囲外なら「待て」、効果範囲ないなら「進み続けろ」(接近戦に持ち込むためかな)

攻守のバランスがちょっとわからず試行錯誤でテストケースに追随しています。

出題者のアイコンは一歩でした。

 

9)アメリカ

文字列の中に指定文字列が何回登場しますか?

 

10)フランス

GNUはUnixではない 「Unixはない」を連呼します。

テストケースから推測しています。

GNUプロジェクトをUnixのプロジェクトと言われて心外だったのでしょうか?

 

11)モロッコ

WカップではスペインをPKで下しました。

ax+b=cが与えられます。xをお答えください。小数点以下は0以上の数値あれば3桁まで

最期の最期がちょっと面倒でした。 2.0だと2 1.48だと1.480

 

12)ドイツ

カプレカ数(4桁の数値の各桁を入れ替えて作成できる最大の数値から最小の数値を引いて次の

4桁の数値を作成するを繰返すとあらまあ不思議6174になります)までの循環を表示する。

循環できなければ「不可能」表示。

 

13)デンマーク

幼児言葉を変換する。

子音文字の時、繰返して、間にoを入れ、子供をたくましく育てる妖術らしい。(推測)

 

14)フィリピン

メッセージの左右または両方にパディングをn回追加する。

 

15)スペイン

数値の各桁をアルファベット順に並び替える。

数値を(数値読みのアルファベットの先頭、数値)のタプルに変換してソート

 

16)ポルトガル

元旦に生まれた人物がyear年の元旦にage歳になります。

year年の元旦は生まれてから何日目?

うるう年の超微妙な計算、あと78年生き続けるシステムがなければ6,7行は不要です。(あるのかな?)

 

17)マレーシア

国旗をみるとアメリカと似ています。アメリカ系なのでしょうか?

スペース区切りの数値が渡ってきて、32から126までの数値はアスキー変換してそれ以外は

\+16進数表記にします。

バックスラッシュ、時に¥表記だったり、文字の中だと2回で1文字とか初見殺しにもほどがあります。

 

18)ポーランド

問題は10人のデベロッパーの内3人はいろいろ吠えます。

MatはPawが吠えた後だと吠えます。

名前が順に呼ばれるので吠えてください。

「ポーランドってクロアチアとなんか紛らわしい」と吠えてみます。

 

19)イスラエル

数列なかで1回だけ登場したものを答える

イスラエルと聞くと、ネタニヤフ外相というキーワードを脳がはじき出しました。

ネタニヤフはヤハウェ(神のこと)が与えるという意味だそうです。

首相にもなっているようですが、私の頭の中ではネタニヤフ外相です。

 

20)インド

ゲームの終わりにn人全員がそれぞれに握手をします。

何回握手しますか?

Python中毒なのか、最初問題のタイトルをスネークヘッドと誤認識。

20カ国の人がそれぞれ握手すると190回になります。

 

感想

昼飯を挟んで、気持ちだけでも、5時間ほど世界旅行にいってみました。

この問題の中でClash of Codeの本戦に出場できるのはたぶん数問、

厳しい世界だったりします。

全体的に、1つの業務プロジェクトの1チーム(8人想定)で共用で使用する

関数と同じぐらいの難易度、量という気がしますがどうでしょうか?

 


最新の画像もっと見る

コメントを投稿

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