AtCoder Beginner Contest 092 A問題
競技プログラミングで使える関数を実際の問題を通して紹介いたします。
今回は「min()」です。
min関数により最小値を返す
min関数は、引数の中で最も小さい値を返り値とします。
例えば、の場合、
result = min(A,B)
の結果は
となります。
以上の方法を用いてコードを書きます。
trainBus = [int(input()) for i in range(4)] print(min(trainBus[0],trainBus[1])+min(trainBus[2],trainBus[3]))
コードの改善
競技プログラミングではプログラムの処理完了までの速度も重要な要素の一つですので、より短く簡潔なコードを書くことが重要です。
f=lambda:min(int(input()),int(input())) print(f()+f())
Python独特の記法
lambda (引数):処理内容
上記のコードでは、電車の運賃がはじめの二つ、バスの運賃があとの二つになってます。
print関数のはじめの
f()
で
f=lambda:min(int(input()),int(input()))
が実行されており、はじめの二つの入力が求められます。
次のf()であとの二つの入力を待っています。これにより最初に書いたプログラムと同様の結果となります。lambdaを用いると、複雑な式もシンプルにかく事ができます。
独学プログラマー Python言語の基本から仕事のやり方まで
- 作者: コーリー・アルソフ,清水川貴之監訳,清水川貴之,新木雅也
- 出版社/メーカー: 日経BP社
- 発売日: 2018/02/24
- メディア: 単行本
- この商品を含むブログ (2件) を見る