ゆうは

わかりたいことを深堀り

AtCoderのABC355の振り返り

毎週、AtCoderをやってます。

全然できるようにならないので、嫌になって半年くらい止めていた時期もありましたが、できなくてもやらないよりマシかなと思って続けています。

最近、できないなりに自分の回答とどこでつまづいたかを残していたら振り返りとしてよいと感じたのでブログにしていこうと思い書いています。

ABC355

私はいつもA問題とB問題しかできません。 一度だけC問題まで解けたことがあるのですが、その一度だけです。 今回のABC355は、残念ながらA問題のみしか解けませんでした。

atcoder.jp

A - Who Ate the Cake?

入力例2のAとBが同じ場合の記述を付けたら無事に解けました。 if文でAとBが同じでなければBを削除すると入れています。

A, B = map(int, input().split())
arr = [1, 2, 3]

arr.remove(A)
if A != B:
    arr.remove(B)

if len(arr) == 1:
    print(arr[0])
else:
    print(-1)

B - Piano 2

B問題は当日は解けなかったのですが、B問題だからむつかしいアルゴリズムが必要なわけではないと思ったので、後日挑戦してみました。

少し調べたらあっさりと解けてしまいました。 つまづいた部分はリストの中に要素があるかないかを判定する「in」を忘れてしまっていました。Cのリストの中にAにあるのかどうかが判定できませんでした。

N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
C = A+B
C.sort()

for i in range(len(C)-1):
    if C[i] in A and C[i+1] in A:
        print('Yes')
        exit()

print('No')

あと、解答例を見ていたら「exit()」が使われていて「こんなのPythonにあったかな?」と調べてみました。私は全然わかっていなかったのですが、この解答部分はWindowsコマンドプロンプトとかPower Shellのようなものなんですね。どういうことか調べて改めてブログにしたいと思います。