脱公務員からのデータサイエンティストの道

公務員、データサイエンス、勉強、書籍等についてのブログ

AtCoder Beginner Contest 216

今日は競技用プログラミング「AtCoder」の定例コンテストでした。

 

自分は2週間前からの参加でしたが、過去問でコンスタントに回答できていたB問題が立て続けに解けなかったということもあり、今回はなんとしてもB問題までは解こうという気持ちで一杯でした。

まさに復讐の鬼といった感じ。

 

そして正直今の自分の力量だとC問題以上はなかなか難しい。

というのも個人的にC問題以上はアルゴリズムを理解していないと解けない問題となっており、今の自分にはアルゴリズムがナイゴリズムだからだ!!!

(少しずつ勉強しないとなぁ・・・)

 

というわけで、今回は何とかB問題までは解けたので、提出したコードとどうやって考えたか備忘録として残したいと思います。

ちなみに使用言語はみんなが大好きpythonです。

 

A問題

N = input()

N_l = N.split('.')
N_l = [int(i) for i in N_l]


if 0 <= N_l[1] <= 2:
print(str(N_l[0])+'-')
elif 3 <= N_l[1] <= 6:
print(str(N_l[0]))
elif 7 <= N_l[1] <= 9:
print(str(N_l[0])+'+')

 

実はA問題は2回ほど間違いを出していたのでした、トホホ。。。

というのも、問題のifの条件とそれに対する出力がごっちゃになっていたからでした。

こういうケアレスミスがあると、結構沼にはまったりするので初心者ほど丁寧に問題文を見直す必要がありますね。(自戒)

個人的ポイントは入力の文字列を一度int型にして、それをリスト型に変換し、そこからインデックス指定でif分をかましたところ。

確実にゴリ技、うっほっほーい。

絶対もっと要領よくできたので、メモリ使用率が少ない人のコードを見直さなければ。

Simple is best

 

 

そして次はB問題

N = int(input())

names = []
for i in range(N):
name = input()
if name:
names.append(name)

if len(names) != len(set(names)):
print('Yes')
elif len(names) == len(set(names)):
print('No')

 

こちらは一発クリア。

悩むことなく淡々とコードを書いて終了。ポイントは入力した名前をリストにして、その後set関数で重複を除き、要素数を比較して同姓同名がいるかを判断。

 

C問題は解けそうかなと最初は思ったけど、考えているうちに深みにはまり途中放棄笑

 

ということで、レイティングは上昇し灰色の17

これが何なのかよくわかっていませんが、上昇しているのだから良しとしましょう。

 

ということで来週もAtCoderのコンテスト頑張りますで!

(Cは解きたいなぁ)

 

 

自己紹介

当ブログ管理人のモチロウです。

 

ブログタイトル「脱公務員からのデータサイエンティストの道」のとおり、私の前職は小さい自治体の公務員でした。

 

ただし、技術職系の公務員です。

技術系公務員って何?と思う方もいるかもしれませんので、これについては後日改めて記事にしたいと思います。

 

そして実は公務員時代前にも民間企業に務めていました。

つまり転職を2回しています。

 

転職の理由はどちらの時も異なっているのですが、ここについても別記事で書いていきたいと思います。

 

そして現在は近年巷で話題になりつつあるデータサイエンティスト。

(経験浅いのに巷で話題とか言っちゃうあたりに人間性が現れていますね・・・。)

なんと、全くの未経験からこの業界にエントリー。

これが叶ったのも紆余曲折と貴重なご縁があってのことなので、現在の仕事に携わることができているのはほぼ奇跡に近いです。

 

社会人になる前は某国立大学で自然科学と工学がミックスされた分野の研究をしていました。学部卒業後はそのまま同大学の大学院で同じ研究を続けていましたが、今となっては6年間学んだ専門分野は全く活かされていないことは内緒です。

 

学生時代は勉強よりも国際交流関係に力を入れていました。

サークルは英会話サークルに所属しており、学部2年生後半から3年生前半までサークルの代表を務めていました。今思えば力不足な点が目立ち、一人よがりだったかなぁと思うこともあります。悲しいですね〜。

 

肝心の語学力の方はどうかと言うと、正直リーディング以外は高校レベル以下だと思っています。ただ、リーディングスキルは今の仕事についてやっと活かされ始めているように感じています。

その理由については別記事で書く予定です。

 

そして、みなさんが一番気になっているであろうこと。趣味について!

(力の入れどころおかしいだろと言うツッコミは無しで)

 

DTM、Tシャツ作り、Youtube視聴が私の娯楽になります。

最近は仕事で必要かなと思い、競技用プログラミングのAtCoderも始めました。

まだまだペーペーの灰色ランクですが、これからアルゴリズムの造詣を深めて華やかな色へと進化していきたいなと思っています。

 

DTMとTシャツ作りはまとまった時間がある時は結構ガッツリやるのですが、最近は仕事の勉強などでパタパタしておりますので、Youtube視聴がメインになっています。

 

好きなYoutuberはゲーム実況者のガッチマンさん、気まぐれクックの金子さんがメインでしょうか。

コロチキのナダル さんも好きなのでコロチキチャンネルも見てますね。

最近は心霊スポットを巡るゾゾゾちゃんねるにもはまっています。

 

DTMではダンスミュージック系をメインに作っていたのですが、ここ1年半は全くできていない状況です。最近はchill系な音楽にハマり出しているので、lofiなどのジャンルやラップ系に挑戦してみたいなと思っちゃたりしています。

ちなみに過去の作品はYoutubeに上げていますので、機会があれば紹介していこうと思います。

 

Tシャツ作りに関しては、自分が納得できる世界で1枚だけのTシャツが欲しいなと思って作り始めたのですが、最近はsuzuriでも何枚か出品し始めましたので、ぜひ1度品定めをしていただけたらなと思います。

suzuri.jp

 

最近は職場で仕事に関する本をひたすら読んでいるので、勉強も趣味になってしまうのでしょうかね?

 

簡単ではありましたが、最後に所有している資格とこれから取得したい資格を記載して私の自己紹介を終わりにしたいと思います。

 

2021年8月29日時点所有資格

・英検準1級

・統計検定2級

・(失効していますがTOEIC 815点)

 

これから取得したい資格

AWS

データベーススペシャリスト

・統計検定準1級