1206.[S/Wトラブルシューティングネイティブ]1日目-ビュー
ソース:リンクテキスト
ビルの眺望権を確保するためには、自分の位置の前後で2つのビルより高くなければならない.そのため、まず周囲の建物の中で最も高い建物の高さを求めて、それから自分の建物の高さから減算して、自分の建物の中で眺望権を持つ世代を求めることができます.
1.解法
ビルの眺望権を確保するためには、自分の位置の前後で2つのビルより高くなければならない.そのため、まず周囲の建物の中で最も高い建物の高さを求めて、それから自分の建物の高さから減算して、自分の建物の中で眺望権を持つ世代を求めることができます.
2 max()関数の使用
for test_case in range(1, 11):
width = int(input())
building = list(map(int, input().split()))
cnt = 0
for i in range(2, width - 2):
max_building = max(building[i - 2], building[i - 1], building[i + 1], building[i + 2])
if building[i] > max_building:
cnt += (building[i] - max_building)
print('#{0} {1}'.format(test_case, cnt))
3.for構文を使用して直接最大値を求める
for test_case in range(1, 11):
width = int(input())
building = list(map(int, input().split()))
cnt = 0
for i in range(2, width - 2):
max_building = building[i - 2]
for j in range(i - 1, i + 3):
if j == i:
continue
if max_building < building[j]:
max_building = building[j]
if building[i] > max_building:
cnt += (building[i] - max_building)
print('#{0} {1}'.format(test_case, cnt))
Reference
この問題について(1206.[S/Wトラブルシューティングネイティブ]1日目-ビュー), 我々は、より多くの情報をここで見つけました https://velog.io/@dannyp0930/1206.-SW-문제해결-기본-1일차-Viewテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol