ARC176 python Atcoderの記録

問題はこちら 完 A N, M = list(map(int, input().split())) print(N*M) # 1の個数はN*M個 """ 考え方 M=1で自由に1を置けるとき:対角線すべてのマスに1を置くのが最もシンプル。 M=1で置く場所を決められたとき:そのマスから対角線と平行なマスに1を置くの…

ABC350 python Atcoderの記録

問題はこちら A S = input() T = int(S[-3:]) flag = "No" if 1<= T <= 315 or 317 <= T <= 349: flag = "Yes" print(flag) B N,Q = list(map(int, input().split())) T = list(map(int, input().split())) teeth = [0] + [1 for _ in range(N)] # 1-indexed…

ARC175 python Atcoderの記録

問題はこちら 1完 A くそ汚いコード。後で書き直したい。 N = int(input()) P = ["-"] + list(map(int, input().split())) S = "-" + input() """ 結局みんな右で取るor左で取るを合わせる必要がある。 dp[i]: P[i-1]の人までスプーンをとった時の聞き手の組…

ABC346 python Atcoderの記録

問題はこちら 4完 A 愚直実装 N = int(input()) # S = input() A = list(map(int, input().split())) result = [] for i in range(N-1): result.append(A[i]*A[i+1]) print(*result) B 条件を満たす文字列があると仮定したとき、その文字列が12文字以上であ…

ARC174 python Atcoderの記録

問題はこちら 2完 A 連続部分列の和の最大/最小を求めればよい。 ark4rk.hatenablog.com N, C = list(map(int, input().split())) A = list(map(int, input().split())) # print(N,C,A) def max_subarray(nums): max_sum = nums[0] # 最大の合計を保持する変…

ABC345 python Atcoderの記録

問題はこちら 3完 A S = input() T = "<" + "="*(len(S)-2) + ">" if S == T: print("Yes") else : print("No") B 切上除算を行う問題。知らなかったのでメモ。 a÷b の小数点以下を切り上げた整数を求めることを 切り上げ除算という 答えの求め方は(a+b-1)//…

ABC344 python Atcoderの記録

問題はこちら 4完 A 様々な解法が回答に乗っていて面白い。|で3分割し、1・3番目のみ出力 or |の間を正規表現で置換する方法が早そうな気がした。 S = input() l = [] for i in range(len(S)): if S[i] == "|": l.append(i) print(S[:l[0]] + S[l[1]+1:]) …

ABC343 python Atcoderの記録

問題はこちら 4完 A A, B = list(map(int, input().split())) for i in range(10): if i != A+B: print(i) break B 各頂点(Inputの各行)ごとにつながっている頂点(Inputが1となっているIndex)を出力 N = int(input()) for i in range(N): A = [0] + lis…

ABC342 python Atcoderの記録

問題はこちら 3完 A 時間を使ってしまった from collections import Counter S = list(input()) # 例としてCounter型を作成 my_counter = Counter(S) # 値が1であるキーを取得 keys_with_value_one = [key for key, value in my_counter.items() if value ==…

ARC171 python Atcoderの記録

問題はこちら 1完 A まずは条件を整理する。 ルーク・ポーンの配置条件を図示すると下記のようになる。 ルークのほうが配置時の駒の制限が大きいため、ルークをA個置いた時にポーンの最大配置可能数を計算し、その値とBを比較することで判定ができそうである…

ABC339 python Atcoderの記録

問題はこちら 3完 A "."で分割して最後の要素を出力する。 S = input().split(".") print(S[-1]) B 愚直に実装。回転の表し方でもっと良い方法がないか知りたい。 H, W, N = list(map(int, input().split())) grid = [["."] * W for _ in range(H)] # h,w = …

ARC170 python Atcoderの記録

問題はこちら 1完 A 文字列SとTを前から順番に比較していくと、AをBに変えたいときとBをAに変えたいときがある。 それぞれ考えられる操作は、2通りずつ。 1.AをBに変えたいとき 1-1.変えたい場所より左のBをAに変えて、AをBに変える 1-2.変えたい場所より…

ABC337 python Atcoderの記録

問題はこちら 3完(バーチャル参加) A N = int(input()) x,y = [0,0] # 結果の集計 for i in range(N): xi, yi = list(map(int, input().split())) x += xi y += yi # 勝者の判断 result = "" if x > y : result = "Takahashi" elif x < y : result = "Aoki…

ABC336 python Atcoderの記録

問題はこちら 3完 A "o"がN個並んだ文字列は、 N * "o" と書ける。 N = int(input()) print("L" + N * "o" + "ng") B 2進数に変換する関数はbin。 その後、右側にある0の個数を数える方法を考えればよい。 末尾から0であるかの判定をしていく方法でもよい。 …

ABC335 python Atcoderの記録

問題はこちら 4完 A 最後の一文字を削除し、4に変更する S = input() print(S[:(len(S)-1)] + "4") B 全探索し、ソート後出力 N = int(input()) list_result = [] for a in range(0,22): for b in range(0,22): for c in range(0,22): if a+b+c <= N: list_r…

ARC168 python Atcoderの記録

問題はこちら 1完 A テストケースを見て、">"→転倒数1増加、">>"→転倒数3増加、">>>"→転倒数6増加、つまり">"がN回連続すると転倒数が0.5N(N+2)増加するっぽいことに気づいたのでそれで実装 N = int(input()) S = input() count_list = [] # > が何回連続し…

ABC329 python Atcoderの記録

問題はこちら 3完 A 効率的な方法を探したい S= input() for i in range(len(S)): if i != len(S)-1: print(S[i] + " ", end = "") else: print(S[i] , end = "") B もっと効率的な書き方があると思うが、Nが小さいので許してください N= int(input()) A = l…

ABC328 python Atcoderの記録

問題はこちら 4完 A カッコつけた書き方をしているがfor文とif文で丁寧にやればOKのはず N, X = list(map(int, input().split())) S = list(map(int, input().split())) print(sum(i for i in S if i <= X)) B ある日付の数字が同じかどうか判定するためにse…

ABC326 python Atcoderの記録

問題はこちら 3完 A 1階昇る:X-Y = -1, 1階降りる:X-Y -1なので -2 <= X-Y <= 3 のとき条件を満たす X, Y = list(map(int, input().split())) if -2 <= X -Y <= 3: print("Yes") else: print("No") B 桁ごとに数字を分けて条件を満たすかチェックする。解…

【Python】Windows11でfasttext、Mecabを使えるようにしたい

かなり苦戦した(延べ5時間ぐらい)ので備忘録 基本的には参考サイト通りに行ったが、それらに記載のないエラーが出る場面があった 0.環境 1.Microsoft C++ Build Toolsを手に入れる 2. fasttextのコンパイル 3. fasttextの辞書データをダウンロード 4.サン…

ABC310 python Atcoderの記録

問題はこちら 3完 A,Bは愚直な実装 Cは問題文の”反転して一致するときも同じとみなす”の部分が面倒 →与えられた文字列をすべて辞書順にして管理することで反転を考えなくてすむ ##################### A N, P, Q = list(map(int, input().split())) D = list…

ARC164 python Atcoderの記録

問題はこちら 1完 10進数をn進数に変換するコードをネットでコピペしたら、それが間違っていた。 そのせいで30分ぐらい溶けてキレそうだった(自分で書かないのが悪い)。 一応自分でも書いた。 kokizu.hatenablog.com A T = int(input()) def base10int(val…

10進数をn進数に変換する python

ネットでコピペしたコードが間違っていたせいでミスしたのでアップしておく 1桁ごとに区切ったリスト形式が返ってきます。 例: 10を3進数に変換→ [1, 0, 1] 100を12進数に変換→[8, 4] def base10int(value, base): n_list = [] while value != 0: value, r …

ABC305 python Atcoderの記録

問題はこちら 3完A~C ##################### A N = int(input()) dis = 0 for i in range(5,105,5): if abs(dis - N)> abs(i-N): dis = i print(dis) ##################### B p,q = input().split() dict = {"A":0,"B":1,"C":2,"D":3,"E":4,"F":5,"G":6} di…

ABC301 python Atcoderの記録

問題はこちら 3完 A~C ##################### A N= int(input()) S = input() count_A = 0 count_T = 0 ans_before = "" for s in S[0:N-1]: if s == "A": count_A += 1 if s == "T": count_T += 1 # if count_A > count_T: ans_before = "A" if count_A < c…

ABC300 python Atcoderの記録

問題はこちら 3完 A~C A~C ##################### A N, A, B = list(map(int, input().split())) C = list(map(int, input().split())) for i in range(N): if A+B == C[i]: print(i+1) break ##################### B H, W = list(map(int, input().split()…

pythonを利用して、寿司打の結果を自動記録する 2

pythonを利用して、寿司打の結果を自動記録する1の時は、画像が少しでもずれると読み取り場所がずれるため使いにくいものでした。 そこで改めて結果の読み取り精度向上を行っていきたいと思います。 実行までの流れ pythonのインストール(自分はVScode上でJ…

ABC299 python Atcoderの記録

問題はこちら A~Dの4完 しかしDDos攻撃により、Non rated A "l"で文字列を前半後半に区切り、前半と後半にそれぞれ"*"が含まれるか計算した。 Atcoderの解説では1つ目の"*"、"l"、2つ目の"*"の位置をそれぞれ求め、その大小比較によりYes, Noを求めてい…

cannot reindex from a duplicate axis の対処法 python

行名や列名に重複がある場合に発生する。 自分で振りなおしたり、reset_index()などで重複を解消すればよい。 #print(df_result) # printで確認 行名がすべて0なのでエラーが出る # col_1 col_2 # 0 1 10 # 0 2 11 # 0 3 12 # #sns.pairplot(df_result) # Va…

ABC298 python Atcoderの記録

問題はこちら A~Cの3完 時間切れ後にDもできた # A N = int(input()) S = input() flag_o =0 flag_x = 0 for s in S: if s == "o": flag_o += 1 if s == "x": flag_x += 1 if flag_o > 0 and flag_x ==0: print("Yes") else: print("No") # B N = int(input…