💭

AtCoder ABC 002 A-正直者 Pythonでの解き方を初心者向けに解説!【競プロ】

2024/05/13に公開

https://youtube.com/shorts/1_hj0ZD-uKE?feature=share

問題

いま、神の恵みで高橋くんにお金が与えられます。
神は高橋くんに 2 つの金額を提示します。
正直者の高橋くんは、常に大きな金額を選択します。
そこで、与えられた 2 つの整数のうち、大きい方の値を出力するプログラムを書いてください。

制約

0≦X≦10^9
0≦Y≦10^9
お互いに異なることが保証されている。

入力形式

X Y

解説

↓こちらが正解例です。

ABC002-A.py
X,Y=map(int,input().split())
ans=max(X,Y)
print(ans)

問題概要にある通り、x,yのどちらか大きい方を出力すればOK

正直map部分はコピペでいいかも!
一応起こっていることを説明します。

  1. X,Y=map(int,input().split())
  2. X,Y=map(int,"4 7".split())
  3. X,Y=map(int,"4","7")
  4. X,Y=4,7

1.もとの式
2.まずinputでX,Yを文字列として受け取ります!なんらかの整数なので4,7としておきます。
3.split()は空白で区切る関数です。"4 7"という文字列を"4","7"に変更します!
4.ここ重要!! map()は、map(関数、関数を適用するもの)という式です。なので、文字列"4"と"7"を数字に変換して計算できるようにします!

これでXとYに4,7が入ります

たった一行のくせにめんどくせ~~~~~

max()はその中で一番大きい値を出力します!それをansに入れる!
ansを出力して終了!

ひとこと

map、理解しなくてもいいよ

この記事を書きながら、「あ、そうなってるんだ~」って感じでした。感覚って怖いね(´^ω^`)。
入力が一番難しい問題ってちょっとオモロイな。
これであなたは比較ができるようになった!これでスコア計算とかできるようになった!おめでとう!!!

おすすめの本

初めての人はここから!
アルゴリズム的思考力が身につく! プログラミングコンテストAtCoder入門

Discussion