管制カメラ(欲張り)
質問する
質問リンク
私の答え
すなわち、-20~-4は以前の値であり、->13と6が次の値であれば->13と-4はそれぞれin、outに格納される.
def solution(routes):
#1) sort
routes = sorted(routes, key = lambda x:x[0]) # 뒷걸음질....
answer = 0
while routes:
# 2) cnt는 제거해야하는 index를 tracking 할 것이다.
cnt = 0
i = routes[0][0]
o = routes[0][1]
for car in routes:
if ( i <= car[0] and car[0] <= o) or ( o <= car[1] and car[1] <= o) :
# in을 둘 중 작은 값으로
i = car[0] if car[0] > i else i
# out을 둘 중 큰 값으로
o = car[1] if o > car[1] else o
cnt += 1
routes = routes[cnt:]
answer += 1
return answer
他人の解答
解けて本当に楽しかったです.でも...
def solution(routes):
routes = sorted(routes, key=lambda x: x[1])
last_camera = -30000
answer = 0
for route in routes:
if last_camera < route[0]:
answer += 1
last_camera = route[1]
return answer
??????????????????????????????????????????????????上のコードは外に出る位置を基準にしています.
そこで、最初の車の出位置(最小値)にカメラを取り付け、カメラに掛けた車が飛び越え、
高速道路に進入する位置が対応するカメラより遅い場合、その車の出口位置にカメラを設置する.
kia~
Reference
この問題について(管制カメラ(欲張り)), 我々は、より多くの情報をここで見つけました https://velog.io/@vagabondms/단속카메라-greedyテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol