過去問精選 10 問やってみる 3
前回までで10選を解きました。
今回は例題を解いて本当に理解してるか確かめます。
****************************************************
ABC 064 A - RGB Cards (同じく倍数判定です)
https://atcoder.jp/contests/abc064/tasks/abc064_a
受けた文字列を数値に置き換えて各桁かけて計算
a, b, c = list(map(int, input().split())) if (a*100+b*10+c) % 4 == 0: print('YES') else: print('NO')
ABC 088 A - Infinite Coins (倍数判定の発展として、余りを計算します)
https://atcoder.jp/contests/abc088/tasks/abc088_a
入力値にmod 500をとって余りをもとめ、それがAより多いか少ないか確認する
N = int(input()) A = int(input()) if (N % 500) <= A: print('Yes') else: print('No')
ABC 082 A - Round Up the Mean (余りを切り上げる処理をします)
https://atcoder.jp/contests/abc082/tasks/abc082_a
入力を足して2で割る際に、分子に+1しておくことでパターン化できる
a, b = map(int, input().split()) print((a+b+1)//2)
****************************************************
ABC 095 A - Something on It (非常によく似た問題です)
https://atcoder.jp/contests/abc095/tasks/abc095_a
for文で回して〇が出たら100足すだけ
S = input() price = 700 for i in S: if i == "o": price += 100 print(price)
ABC 085 A - Already 2018 (string 型を扱う練習です)
https://atcoder.jp/contests/abc085/tasks/abc085_a
受けた文字列の最初だけ固定値を入れる
S = input() print("2018"+S[4:])
ABC 069 B - i18n (B 問題ですが for 文不要で難しくなく、string 型を扱うよい練習問題です)
https://atcoder.jp/contests/abc069/tasks/abc069_b
最初と最後を抜き出し、それ以外の配列の個数を数えて表示
S = input() print(S[0] + str(len(S)-2) + S[-1])
ABC 082 B - Two Anagrams (辞書順最小に関する理解を問います、B 問題なので少し難しくなります、下に出て来るソートも使います)
https://atcoder.jp/contests/abc082/tasks/abc082_b
完全にはまりました・・・
「可能な組み合わせ」なので、事前に文字列をソートしておくが、片方だけ昇順もう片方は降順としておく必要あり
a = sorted(input()) b = sorted(input(), reverse=True) aa = ''.join(a) bb = ''.join(b) if aa < bb: print('Yes') else: print('No')
以上