2019-06-10に投稿

Pythonで競プロ|ABC129A|

今回は、AtCoder Beginner Contest 129A
を解いていきたいと思います。

問題文

空港 A, B, C があり、それぞれの空港の間では、双方向に飛行機が運航しています。
空港 A, B 間の飛行時間は片道P時間、空港 B, C 間の飛行時間は片道Q時間、空港 C, A 間の飛行時間は、片道 R時間です。
いずれかの空港からスタートして他の空港に飛行機で移動し、さらにそのどちらでもない空港に飛行機で移動するような経路を考えます。
飛行時間の和は最短で何時間になるでしょうか。

こう考えた

  • P、Q、Rをから2つを選択しそれぞれを加算する。
  • それらをリストに格納しmin()で出力する。

実装したコード

P,Q,R=map(int,input().split())
print(min(P+Q,Q+R,P+R))

結果

ACでした。

🐍やったで!

勉強になったコード

print(sum(sorted(map(int,input().split()))[:2]))
  • map(int,input().split()ですべての入力を受けて

  • sorted()で小さい順番に並べ替えます。

  • [:2]で小さい順番から2つを引っ張ってきて

  • sum()で合計をだしてprint()で出力します。

sort()とsorted()の違い

  • リスト型のメソッドsort(): 元のリストをソート
  • 組み込み関数sorted(): ソートした新たなリストを生成

🐍いきなりsortedで並び替える発想無かった。

Originally published at www.coderecipe.org

view_list Pythonで競プロ
第1回 Pythonで競プロ|ABC129A|
第2回 Pythonで競プロ|ABC129B|
第3回 Pythonで競プロ|ABC129C|
第4回 AtCoder Beginner Contest 073CをPythonで解く
第5回 AtCoder Beginner Contest 095CをPythonで解く

aocory

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント