はじめに
おひさしぶりです。茶色になったので、少しさぼってました。
今日はABC036と解きます。
A問題
考えたこと
ceilで切り上げて割り算する。
import math
a, b = map(int,input().split())
print(math.ceil(b/a))
B問題
考えたこと
forで縦と横を入れかえるだけ。
n = int(input())
s = [list(input()) for _ in range(n)]
d = []
for i in range(n):
c = []
for j in range(n):
c.append(s[j][i])
c = c[::-1]
d.append(c)
ans = ''
for i in range(n):
s = ''.join(d[i])
print(s)
C問題
考えたこと
解説ACです。dictを使えば簡単にできました。知らなかった。$a$の重複要素をsetで消してsortして、順にdictにつっこみます。
n = int(input())
a = [int(input()) for _ in range(n)]
s = sorted(list(set(a))) #set
dic = {}
for i, e in enumerate(s): #enumerateを使うことで、最小の数にできる。
dic[e] = i
for i in a:
print(dic[i])
まとめ
データ構造に疎いので、勉強します。めざせ緑! ではまだ、おやすみなさい。