3
2

More than 3 years have passed since last update.

競プロ デビュー戦記 AtCorder Beginner Contest 160

Last updated at Posted at 2020-04-01

デビュー戦 〜AtCorder Beginner Contest 160〜

データサイエンティストとして勤務してちょうど1年が経ち、自分のコーディングの実力を客観的に知りたいと思いAtCorderに挑戦してみました。

と言っても普段業務で使っているSASでは参加できないので、ひまひまに触っていたPythonの文法をさらっと復習しAtCorderの使い方を覚えvscodeでテストできる環境を整えいざ出陣!!

とりあえず3完ぐらいできればいいかなくらいのノリで!

実際の問題は以下のリンク参照
https://atcoder.jp/contests/abc160/tasks

A - Coffee

与えられた長さ6の英小文字がcoffeeに似ているかを判定する問題。
競プロ経験者からすると瞬殺する問題らしいのだが文字列を1文字づつ取りだすという基礎中の基礎もおろそかだったのでこの問題で9分消化(泣)

N = input()
if N[2] == N[3] and N[4] == N[5]:
    print("Yes")
else:
    print("No")

B - Golden Coins

両替を扱ったAtCorderの序盤では定番の問題。
数値変数の入出力と四則演算をコードに落とせれば特に問題なし。
と言いつつもこの問題でも10分消化。我ながら変数名のセンス無さすぎる(笑)

N = int(input())
ppp = N // 500
NN = N-500*ppp
pp = NN //5
ans = 1000*ppp+5*pp
print(ans)

C - Traveling Salesman around Lake

ここからが自分的には山場のC問題
AB問題では設問内容をそのままコードに落とし込めば良かったのだが、
C問題からはそういう訳にはいかないのでちょっと厄介。

今回は池の周りに立っている全ての家を訪問する為の最短経路を求める問題
処理自体はすぐに思いついたのだが実装できるかは別問題(泣)

提出した間違っているコード⬇︎

K, N = map(int, input().split())
arr = list(map(int, input().split()))
for i in range(N-2):
    sa =int(arr[i+1]-arr[i])
    ssa =int(arr[i+2]-arr[i+1])
    max_num = max(sa,ssa)

hasi = K-arr[N-1]+arr[0]
ans =K-(max(max_num,hasi))
print(ans)

List.appendの処理をループする方法(超基礎)を思いついたので
なんとか制限時間内に完成できた!!(この時点で80分経過)

エラーが出た訳ではないのでデバッグにかなり時間がかかってしまった。
ちなみにこの問題はC問題にしてはかなり簡単な方らしい
⬇︎通ったコード

K, N = map(int, input().split())
arr = list(map(int, input().split()))
List=[]
for i in range(N-1):
    sa =int(arr[i+1]-arr[i])
    List.append(sa)

max_num = max(List)
hasi = K-arr[N-1]+arr[0]
PPP = (max(max_num,hasi))
ans = K-PPP
print(ans)

D - Line++

なんかグラフとか最短経路とか出てくる問題だった。
到底残り15分で解ける問題じゃないのでここでギブアップ
ちなみにweb系エンジニアの友達は解けたらしい

結果

スクリーンショット 2020-04-04 11.27.02.png

9767人中7167位とまあデビュー戦にしては健闘したのでは(笑)
ただ思ったよりレーティングが上がらない。
コロナで時間あるし暫く本腰入れてやってみよう!!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2