問題概要
問題ページ
-
B - 180°
問題ページへ移動する
問題文
0
、1
、6
、8
、9
からなる文字列 \(S\) が与えられます。
\(S\) を \(180\) 度回転したものを出力してください。すなわち、\(S\) に次の操作を施してできる文字列を出力してください。
- \(S\) を反転する。
0
を0
に、1
を1
に、6
を9
に、8
を8
に、9
を6
に変換する。
制約
- \(1 \leq |S| \leq 10^5\)
- \(S\) は
0
、1
、6
、8
、9
からなる。
問題の考察
ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
s = str(input().rstrip('\n'))
ans = []
for i in range(len(s)):
if s[-i-1] == "6":
ans.append("9")
elif s[-i-1] == "9":
ans.append("6")
else:
ans.append(s[-i-1])
print("".join(ans))
if __name__ == '__main__':
solve()