programming language/Algorithm

Softeer Level2 GBC (python)

jellylucy 2023. 11. 3. 17:03

나의 풀이

처음에 비교를 어떻게 해야하는거지, 수직선이 없는데 어떻게 비교해야할까 고민하는 시간이 길어졌다.

제약조건이 100인 것을 확인하고 그래, 그냥 수직선을 만들어도 100이다 생각하고

100개의 원소를 가진 수직선을 만들었다.

 

import sys
n, m = map(int, input().split())
line = []
user = []

# 기존 배열 line
for _ in range(n):
  length, speed = map(int, input().split())
  line.append([length, speed])
# 광우의 입력
for _ in range(m):
  length, speed = map(int, input().split())
  user.append([length, speed])

result = [0 for _ in range(100)]
start = 0

# 100개의 제한속도 규정값을 다 넣었다
for l, s in line:
  for i in range(start, start+l):
    result[i] = s
  start += l

test = 0

for l, s in user:
  for i in range(test, test+l):
    result[i] = (result[i]-s)
  test += l

ans = min(result)
if (ans > 0):
  print(0)
else:
  print(-ans)

# 어떻게 확인해야할까
# 100이니까, 100만큼 다 확인하는 것.