[BOJ/Python]212号センサー
この問題では,入力したセンサを昇順に並べ,最左側のセンサと最右側のセンサとの距離を求める.各センサ間の距離を含むアレイをそれぞれ作成し,それを昇順に並べ,最左と右の距離でk−1個のセンサ間の距離アレイを前面から減算して解決した.99%のインデックスエラーが発生し、コードを解析したところ、kがn以上、すなわち、自宅の数がセンサの数以上である場合、受信可能領域の長さの和の最小値は0であり、この場合の例外処理が行われていないためであることが分かった.これに対して例外処理を行い,成功を収めた. nと入力します. kと入力します. センサの位置を格納するアレイarrを宣言し、センサの位置を入力する. arrを昇順に並べます. arr[n−1]−arr[0]は変数gapに格納される. arrの区間距離を格納する配列part gapを発表した. kがn以上である場合、各集中局はセンサを担当するので、受信可能領域の和はゼロである.したがってgapは0に更新される. kがnより小さい場合、
->n-1ループのiのfor文.
-->part gapはarr[i-1]-arr[i]の結果を含む.
->part gapを降順に並べます.
->k-1ループのiのfor文.
-->gapからpart gap[i]を減算します. 出力 gap. Code
->n-1ループのiのfor文.
-->part gapはarr[i-1]-arr[i]の結果を含む.
->part gapを降順に並べます.
->k-1ループのiのfor文.
-->gapからpart gap[i]を減算します.
Code n=int(input())
k=int(input())
arr=list(map(int, input().split()))
arr.sort()
gap=arr[n-1]-arr[0]
part_gap=[]
if k>=n:
gap=0
else:
for i in range(n-1):
part_gap.append(arr[i+1]-arr[i])
part_gap.sort(reverse=True)
for i in range(k-1):
gap-=part_gap[i]
print(gap)
Reference
この問題について([BOJ/Python]212号センサー), 我々は、より多くの情報をここで見つけました
https://velog.io/@xx0hn/BOJ-Python-2212번-센서
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
n=int(input())
k=int(input())
arr=list(map(int, input().split()))
arr.sort()
gap=arr[n-1]-arr[0]
part_gap=[]
if k>=n:
gap=0
else:
for i in range(n-1):
part_gap.append(arr[i+1]-arr[i])
part_gap.sort(reverse=True)
for i in range(k-1):
gap-=part_gap[i]
print(gap)
Reference
この問題について([BOJ/Python]212号センサー), 我々は、より多くの情報をここで見つけました https://velog.io/@xx0hn/BOJ-Python-2212번-센서テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol