AIZU ONLINE JUDGE ITP1_4_Dをpythonで解いてみた

python

本サイトAIZU ONLINE JUDGE ITP1_4_D へはこちらから

目次

問題:最小値、最大値、合計値

n 個の整数 ai(i=1,2,…n)を入力し、それらの最小値、最大値、合計値を求めるプログラムを作成してください。

Input

1行目に整数の数 n が与えられます。2行目に n 個の整数 ai が空白区切りで与えられます。

Output

最小値、最大値、合計値を空白区切りで1行に出力してください。

Constraints

  • 0 < n ≤ 10000
  • −1000000 ≤ ai ≤ 1000000

Sample Input

5
10 1 5 4 17

Sample Output

1 17 37

解答例

n = int(input())
get_lst = list(map(int, input().split()))
print(min(get_lst), max(get_lst), sum(get_lst))

解説

以下のように解いていきます。

  1. 1つの整数の読み込み
  2. 複数の整数を読み込み
  3. 最小値、最大値、合計値を空白区切りで表示

キーボードから文字列を受け取る際に使用するinput関数をint関数で囲み、整数値として受け取ります。

# input関数をint関数で囲み、整数値として変数nに設定
n = int(input())

※サイト内「AIZU ONLINE JUDGE ITP1_1_Bをpythonで解いてみた」の、input関数とはにinput関数の使用方法が書かれておりますのでぜひご覧ください。

複数の整数の読み込みにはmap関数を使用します。第二引数のinput().split()で空白区切りの文字列を取得した値を、一つずつint関数に当てはめてint型に変換、さらに、list関数で囲みリストとして変数に設定します。

リストにする理由は、3. 最小値、最大値、合計値を空白区切りで表示でこれらの値を求める際に、複数の要素を持つオブジェクトとしてリスト型が適切だからです。

# input().split()で空白区切りの文字列を取得 → intに変換 → list関数で囲み、リストとしてget_lstに設定
get_lst = list(map(int, input().split()))

※サイト内「AIZU ONLINE JUDGE ITP1_1_Cをpythonで解いてみた」の、map関数とはにmap関数の使用方法が書かれておりますのでぜひご覧ください。

ここではmin関数、max関数、sum関数を使用します。使い方は以下です。

min関数とは

min関数はPythonの組み込み関数の1つでリストやタプル、辞書、セット、文字列といった複数の要素を持つオブジェクト内で最小値を持つ要素の値を求めることができる関数です。

min(複数の要素の中から最小値を持つ要素の値を求めたいオブジェクト)

複数の要素を持つオブジェクトをmin関数で囲む事により、その中の最小値を求める事ができます。

# list型(リスト)オブジェクト内の最小値を持つ要素の値をmin関数で取得
x = [30, 20, 10, 50]
print(min(x))
# 10

# tuple型(タプル)オブジェクト内の最小値を持つ要素の値をmin関数で取得
x = (30, 20, 10, 50)
print(min(x))
# 10

# set型(セット)オブジェクト内の最小値を持つ要素の値をmin関数で取得
x = {30, 20, 10, 50}
print(min(x))
# 10

# str型(文字列)オブジェクト内の最小値をmin関数で取得
x = 'cdfga'
print(min(x))
# a

max関数とは

max関数はPythonの組み込み関数の1つでリストやタプル、辞書、セット、文字列といった複数の要素を持つオブジェクト内で最大値を持つ要素の値を求めることができる関数です。

max(複数の要素の中から最大値を持つ要素の値を求めたいオブジェクト)

複数の要素を持つオブジェクトをmax関数で囲む事により、その中の最大値を求める事ができます。

# list型(リスト)オブジェクト内の最大値を持つ要素の値をmax関数で取得
x = [30, 20, 10, 50]
print(max(x))
# 50

# tuple型(タプル)オブジェクト内の最大値を持つ要素の値をmax関数で取得
x = (30, 20, 10, 50)
print(max(x))
# 50

# set型(セット)オブジェクト内の最大値を持つ要素の値をmax関数で取得
x = {30, 20, 10, 50}
print(max(x))
# 50

# str型(文字列)オブジェクト内の最大値をmax関数で取得
x = 'cdfga'
print(max(x))
# g

sum関数とは

sum関数はPythonの組み込み関数の1つでリストやタプル、辞書、セットといった複数の要素を持つオブジェクト内の総和(合計値)の値を求めることができる関数です。

sum(複数の要素の総和(合計値)の値を求めたいオブジェクト)

複数の要素を持つオブジェクトをsum関数で囲む事により、その総和(合計値)を求める事ができます。
※文字列は合計値を求めることができないので、str型(文字列)オブジェクトでsum関数は使用できません。

# list型(リスト)オブジェクト内の総和(合計値)をsum関数で取得
x = [30, 20, 10, 50]
print(sum(x))
# 110

# tuple型(タプル)オブジェクト内の総和(合計値)をsum関数で取得
x = (30, 20, 10, 50)
print(sum(x))
# 110

# set型(セット)オブジェクト内の総和(合計値)をsum関数で取得
x = {30, 20, 10, 50}
print(sum(x))
# 110

今回は、入力された値の最小値、最大値、合計値を出力するので、以下のような記述となります。

n = int(input())
get_lst = list(map(int, input().split()))
# get_lstの最小値、最大値、合計値を表示
print(min(get_lst), max(get_lst), sum(get_lst))

最後に、もう一度プログラムを確認してみましょう。

# input関数をint関数で囲み、整数値として変数に代入
n = int(input())
# input().split()で空白区切りの文字列を取得 → intに変換 → list関数で囲み、リストとしてget_lstに設定
get_lst = list(map(int, input().split()))
# get_lstの最小値、最大値、合計値を表示
print(min(get_lst), max(get_lst), sum(get_lst))
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次