エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202)の解説記事です。
目次
ABC202 A – Three Dice
問題
問題文の要約は以下の通りです。
問題の要約
3個のサイコロを振って出た目が \(a\), \(b\), \(c\) のとき、サイコロの裏面の目の和を求めよ。
制約
・\(1 \le a, b, c \le 6\)
・入力は全て整数である。
入力
\(a\) \(b\) \(c\)
出力
3つのサイコロについて、出た目とは反対の面が表す整数を足し合わせた値を出力せよ。
解説
3個のサイコロを振って出た目が \(a\), \(b\), \(c\) のとき、サイコロの裏面の目は\(7-a\), \(7-b\), \(7-c\) なのでこれを足し合わせる。
解説
まず、\(a\), \(b\), \(c\) をint
型で受け取ります。
# 入力
a,b,c=map(int,input().split())
サイコロの裏面の目 \(7-a\), \(7-b\), \(7-c\) の和 \(21-a-b-c\) を出力します。
# 出力
print(21-a-b-c)
解答
# 入力
a,b,c=map(int,input().split())
# 出力
print(21-a-b-c)
ABC202 B – 180°
問題
問題文の要約は以下の通りです。
問題の要約
0
、1
、6
、8
、9
からなる文字列 \(S\) が与えられたとき、\(S\) を180°回転させた文字列を出力せよ。すなわち、\(S\) に次の操作を施してできる文字列を出力せよ。
・\(S\) を反転する。
・0
を0
に、1
を1
に、6
を9
に、8
を8
に、9
を6
に変換する。
入力
\(S\)
出力
\(S\) が与えられたとき、\(S\) を180°回転させた文字列を出力せよ
解説
指示通りに操作を行う。
解説
\(S\)を文字列で受け取ります。
# 入力
s=input()
文字列 \(S\)を反転します。
# 文字列を反転する。
s = ''.join(list(reversed(s)))
6と9をそれぞれ変換します。一旦、6を違う文字に変換するのを忘れないようにしましょう。
# 6と9をそれぞれ変換する
s=s.replace('6','x').replace('9','6').replace('x','9')
最後に答えを出力します。
# 出力
print(s)
解答
# 入力
s=input()
# 文字列を反転する。
s = ''.join(list(reversed(s)))
# 6と9をそれぞれ変換する
s=s.replace('6','x').replace('9','6').replace('x','9')
# 出力
print(s)