アイサカ・IT・Python

Python AI×機械学習×webサービス

一行でfor文を書く(AtCoder(競プロ)1日1問【1日目】【Python】)

AtCoder Beginner Contest 098 A問題

競技プログラミングで使える関数を実際の問題を通して紹介いたします。

今回は「for()」です。

 

本日の問題
A- Add Sub Mul

問題文
2つの整数A,Bが与えられます。A+B,A-B,A*Bの中で
最大の値を求めてください。

制約:
-1000\leqq A, B \leqq 1000
・入力はすべて整数である

引用元:
abc098.contest.atcoder.jp

以下のように行中にfor()を使用することができます。見た目的にもスッキリします。

a, b = (int(i) for i in input().split())
max_ab = max(a+b,a-b,a*b)
print(max_ab)

コードの改善

競技プログラミングではプログラムの処理完了までの速度も重要な要素の一つですので、より短く簡潔なコードを書くことが重要です。

a, b = map(int, input().split())
print(max(a * b, max(a + b, a - b)))

 

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで