寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: Pythonによる「線形探索メニュー」問題集 【特殊な探索】 成績優秀者の列挙 2

paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
Pythonによる「【特殊な探索】 成績優秀者の列挙 2 」問題集と、それらの提出コードの解答例です。

僕が作成、提出したコードは、以下のとおりです。

・STEP: 1 偶数の探索

paiza.jp

'''
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 奇数の探索

paiza.jp

'''
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 条件付き最小値

paiza.jp

'''
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 条件付き最大値

paiza.jp

'''
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 点と点の距離

paiza.jp

'''
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 長方形に含まれる点

paiza.jp

'''
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

paiza.jp

'''
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

paiza.jp

'''
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ラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。