Kai
最近の記事

[ABC287 Python]ユニークビジョンプログラミングコンテスト2023 新春 (AtCoder Beginner Contest 287) A~D問題Python解説
A問題N = int(input())S = [input() for _ in range(N)]if S.count("For") > S.count("Against"): print("Yes")else: print("No") N人の賛成反対それぞれの人の数を数えればいいので、 リスト.count(要素) を使います。 賛成の人 = S.count("For") 反対の人 = S.count("Against") を比較して賛成の人の方が多いときにY
[ABC286 Python]ウルシステムズプログラミングコンテスト2023(AtCoder Beginner Contest 286) A~D問題Python解説
A問題N, P, Q, R, S = map(int, input().split())A = list(map(int, input().split()))A[R-1:S], A[P-1:Q] = A[P-1:Q], A[R-1:S]print(*A) 少し問題文が分かりづらいですが、 要は、 「数列AのP番目からQ番目の項」と「数列AのR番目からS番目の項」を入れ替えて数列Aを出力しなさい。 ということになります。 Pythonで入れ替えは次を参考にしてください。
[ABC283 Python]ユニークビジョンプログラミングコンテスト2022 冬(AtCoder Beginner Contest 283)A~C問題Python解説
おまけでD問題もあります。ぜひご覧ください。 A問題A, B = map(int, input().split())print(A**B) 問題分にある通り、A^Bを出力します。 Pythonでは、A^BをA**Bとして出力することで、答えを得ることができます。 B問題N = int(input())A = list(map(int, input().split()))Q = int(input())for i in range(Q): query = list(
[ABC282 Python]HHKBプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 282) A~C問題Python解説
ABC282の解説記事です。 ミス等ありましたら、コメントにてご連絡ください。 A問題K = int(input())print("ABCDEFGHIJKLMNOPQRSTUVWXYZ"[:K]) K個つなげると考えるよりも、既につながっている物からK個取り出す、という考え方の方がよさそうです。 K<=26の制約があるので、A~Zまでの範囲内なのが確約されています。 A,B,C…の順にK個つなげていくイメージで、先頭のK個を取り出しましょう。 B問題import ite
[ABC280 Python]デンソークリエイトプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 280)A~C問題Python解説
A問題H, w = map(int, input().split())ans = 0for i in range(H): s = list(input()) ans += s.count("#")print(ans) 問題文のとおりH×Wのマス目から、 "#"のマスを探しましょう。 上から順に入力されたマスを見ていき、 "#"の個数を数えていきます。 その個数を解答ansに加えていくことで 最終的に"#"の総個数を算出できます。 B問題N = int(inp
[ABC279 Python]トヨタシステムズプログラミングコンテスト2022(AtCoder Beginner Contest 279)A~C問題Python解説
いつもご覧いただきありがとうございます。 ABC279の解説記事です。 ミス等ありましたらコメントで教えていただけると幸いです。 おまけでD問題もあります。 A問題S = input()v = S.count("v")w = S.count("w")print(v+2*w) 下に尖っている部分ですが、"v"には1か所、"w"には2か所ありますね。 "v"と"w"それぞれの個数を数えて、計算すれば答えが求められそうです。 文字列の中にある文字が何個存在するかを確認するには
[ABC277 Python]大和証券プログラミングコンテスト2022 Autumn (AtCoder Beginner Contest 277) A~C問題Python解説
ABC277のPython解説記事です。 ミス等ありましたらコメントにてご連絡いただけますと幸いです。 A問題N, X = map(int, input().split())P = list(map(int, input().split()))for i in range(N): if P[i] == X: print(i+1) 1~Nの整数を並び替えたリストPの中で、 整数Xが何番目にあるか答えてね、 という問題でした。 リストPを先頭から見ていき
[ABC274 Python]キーエンスプログラミングコンテスト2022(AtCoder Beginner Contest 274) A~C問題Python解説
ABC274の解説記事です。 ミス等ありましたらコメントにてお願いいたします。 A問題from decimal import Decimal, ROUND_HALF_UPA, B = map(int, input().split())ans = Decimal(str(B/A)).quantize(Decimal('0.001'), rounding=ROUND_HALF_UP)print(ans) Pythonで四捨五入するときによくroundを使う方がいますが、 ro
[ABC273 Python]パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 273) A~C問題Python解説
ABC273のA~C問題をPythonで解説します。 ミスやご質問等ありましたら、コメントにてご連絡ください。 A問題N = int(input())f = [0 for i in range(11)]f[0] = 1for i in range(1, 11): f[i] = i*f[i-1]print(f[N]) 0<=N<=10なので、全部試しても大丈夫です。 問題文通りに解いていくと、 f(0) = 1 f(1) = 1 × f(0) = 1 f(2) = 2