paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
Pythonによる「【特殊な探索】 成績優秀者の列挙 2 」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 偶数の探索
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 1 偶数の探索 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) lis = list(map(int, input().split())) for i in range(n): if lis[i]%2 == 0: print(i+1) break
・STEP: 2 奇数の探索
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 2 奇数の探索 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) a = list(map(int, input().split())) ans = 0 for i in range(n): if a[i]%2 != 0: ans = i+1 print(ans)
・STEP: 3 条件付き最小値
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 3 条件付き最小値 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) a = list(map(int, input().split())) k = int(input()) ans = 100 for i in range(n): if k <= a[i] < ans: ans = a[i] print(ans)
・STEP: 4 条件付き最大値
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 4 条件付き最大値 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) a = list(map(int, input().split())) k = int(input()) ans = -100 for i in range(n): if ans <= a[i] <= k: ans = a[i] print(ans)
・STEP: 5 点と点の距離
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 5 点と点の距離 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) lis = [] for i in range(n): num = list(map(int, input().split())) lis.append(num) k = int(input()) cnt = 0 for i in range(n): if abs(lis[i][0]-lis[n-1][0]) + abs(lis[i][1]-lis[n-1][1]) <= k: cnt += 1 print(cnt)
・STEP: 6 長方形に含まれる点
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 6 長方形に含まれる点 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) lis = [] for i in range(n): num = list(map(int, input().split())) lis.append(num) xs, xt = map(int, input().split()) ys, yt = map(int, input().split()) cnt = 0 for i in range(n): if (xs <= lis[i][0] <= xt) and (ys <= lis[i][1] <= yt): cnt += 1 print(cnt)
・STEP: 7 成績優秀者の列挙 1
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 STEP: 7 成績優秀者の列挙 1 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) lis = [] for i in range(n): tempo = [] s, t = input().split() tempo.append(s) tempo.append(int(t)) lis.append(tempo) k = int(input()) for i in range(n): if lis[i][1] >= k: print(lis[i][0])
・FINAL問題 【特殊な探索】 成績優秀者の列挙 2
''' Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2 FINAL問題 【特殊な探索】 成績優秀者の列挙 2 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 n = int(input()) lis = [] for i in range(n): tempo = [] s, t = input().split() tempo.append(s) tempo.append(int(t)) lis.append(tempo) k, l = map(int, input().split()) for i in range(n): if k <= lis[i][1] <= l: print(lis[i][0])
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。