AtCoder 修行日記#50
50日目
ABCのB問題を実施中。
勉強用のコンテンツはここから。
https://kenkoooo.com/atcoder/#/table/
進捗と一言感想
[B問題] 3問(残り3問)
ABC022:Bumble Bee
10**5のオーダーなので行けると思ってメモ化を使って解くことができました。
n = int(input()) an = {} for _ in range(n) : a = int(input()) if not a in an: an[a] = 0 else : an[a] += 1 print(sum(an.values()))
ABC027:島と橋
詰まってしまったので、参考になる方のコードを見て提出。
解法としては、ある島を見たときに、島の平均人数に到達しているかを判定して、見るたびに平均値になっていたら分割しているということで、橋を一本引くというようなもののようです。-1を必ずしているのは、group >= 1になるからですね…。
参考
Submission #15654128 - AtCoder Beginner Contest 027
n = int(input()) an = [int(num) for num in input().split()] if sum(an) % n == 0 : eachNumber = sum(an)//n group = 0 maxCheck = 0 for a in an: maxCheck += eachNumber - a if maxCheck == 0 : group += 1 print( (n-1) - (group -1) ) else : print(-1)
ABC035:ドローン
詰まってしまったので、参考になる方のコードを見て提出。
参考
Submission #15794349 - AtCoder Beginner Contest 035
s = input() t = input() left = s.count("L") right = s.count("R") up = s.count("U") down = s.count("D") unknown = s.count("?") position = [right - left, up - down] distance = abs(position[0]) + abs(position[1]) if t == "1": print(distance + unknown) elif t == "2": if distance >= unknown: print(distance - unknown) else : print((unknown - distance) % 2)
[C問題] 0問(残り156問)
今日はなし。
参考
https://kenkoooo.com/atcoder/#/user/dandan611?userPageTab=AtCoder+Pie+Charts
Aizu Online Judge
www.youtube.com
目標
- まず、今年中に茶色コーダー
学習方針
- 参考:レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - Qiita
- 一日一題。(C問題までは!)
- コンテストにもなるべく参加する
- ちなみに言語はpython。
- つまったら10分くらいで解説動画見る
以上。