Pythonで解くAtCoder(M-SOLUTIONS プロコンオープン 2020:C)
こんにちは、クルトンです!
この記事では
AtCoderの「M-SOLUTIONS プロコンオープン 2020」のC問題をPythonを使って解説します。
問題のリンクを載せておきます。
解法
今回は解説がとても分かりやすかったので、解説のコードをPythonに直すだけにしておきます。
本解のサンプルコード
Pythonで書いた解答を載せておきます。
おまけ
最後のif、else文が少し不格好なので1行にしてみましょう。
if 条件式: 処理1 else: 処理2
処理が簡単な場合、上のコードは
処理1 if 条件式 else 処理2
このように一行で書くことができます。
なので今回の解答であれば
N, K = map(int,input().split()) A = list(map(int,input().split())) for i in range(K, N): if A[i - K] < A[i]: print('Yes') else: print('No')
を上記の書き方を使うことで
N, K = map(int,input().split()) A = list(map(int,input().split())) for i in range(K, N): print('Yes') if A[i - K] < A[i] else print('No')
というように簡潔にすることができます。
ただ、この部分で混乱してしまうと本末転倒なので、サンプルコードでは一般的なif、else文の書き方を使いました。
まとめ
今回は
- 数式を使って条件を整理する
という問題でした。
ではまたお会いしましょう!さようなら~