AtCoder Beginner Contest 202 解説【Python】

どうもこんにちは、Megです。

Meg

機械学習を専門に勉強している、理系男子大学生です。

大学の学部では生命工学を学び、男子の中で成績1位を取るほどの勉強好き。

主に生機械学習と生活改善を中心に、日々の学びで得た知識やヒントをブログで共有していきます!

Megをフォローする

今回はAtCoder ABC 202の解説をPythonで行なっていきます。

A – Three Dice

問題はこちら

コードは以下です!自分の提出はこちら

a, b, c = map(int, input().split())

print(21 - a - b - c)

コード解説

  • 1行目
    $a, b, c$は整数かつ1行にわたって入力されるので、a, b, c = map(int, input().split())と1行で書きます。

map() の基本的な使い方は、以下の通りです。

map(呼び出し可能オブジェクト, リストなどのイテラブルオブジェクト)

すなわちinput().split()でa, b, cを分割して受け取り、それらをintで整数型に変換しています。

上記の書き方は競プロで$n$個の数字を1行で受け取るときによく書くコードだから、覚えちゃおうな!

map()についての参考サイト

Pythonのmap()でリストの要素に関数・処理を適用 | note.nkmk.me
Pythonのmap()を使うと、イテラブル(リストやタプルなど)のすべての要素に組み込み関数やlambda(ラムダ式、無名関数)、defで定義した関数などを適用できる。組み込み関数 - map() — Python 3.9.2 ドキュメント ここでは以下の内容について説明する。map()の基本的な使い方Python3...
  • 3行目

高橋君が降るサイコロは全て一般的な立方体の$6$面ダイスであり、ある面とその反対側の面が表す整数を足すと$7$になります。

https://atcoder.jp/contests/abc202/tasks/abc202_a

という事実に注意して計算すると

$$
(7-a)+(7-b)+(7-c) = 21-a-b-c
$$

になるので、それをprint()で出力すればOKです。

B – 180°

問題はこちら

コードは以下です!自分の提出はこちら

s = input()

s_replace = s.translate(str.maketrans({'6': '9', '9': '6'}))
# print(s_replace)
s_reverse = s_replace[::-1]

print(s_reverse)

コード解説

  • 1行目
    $S$は文字列なので、s = input()と1行で書きます。
  • 2行目
    translateという関数を使用して、まず$6$と$9$を置換します。

C – Made Up

問題はこちら

誠意記事作成中です。

D – aab aba baa

問題はこちら

誠意記事作成中です。

E – Count Descendants

問題はこちら

誠意記事作成中です。

F – Integer Convex Hull

問題はこちら

誠意記事作成中です。

タイトルとURLをコピーしました