Algorithm/Implementation

[Softeer 기출문제] GBC

킹우현 2023. 5. 30. 12:16

import sys

n,m = map(int,input().split())

limit = [0]*101

index = 1
test_index = 1

max_value = 0

for i in range(n):
    length, limit_fast = map(int,input().split())
    for j in range(index,index+length):
        limit[j] = limit_fast
    index += length
for i in range(m):
    test_length, test_fast = map(int,input().split())
    for j in range(test_index,test_index + test_length):
        if test_fast > limit[j]:
            diff = test_fast-limit[j]
            if diff > max_value:
                max_value = diff
    test_index += test_length

print(max_value)

이번 문제는 100m를 구간 별로 제한 속도를 지정해두었을 때, 실제로 테스트를 진행했을 때 제한 속도와 가장 차이가 큰 속도를 구하는 문제이다.

 

따라서 각 구간 별로 제한 속도를 먼저 저장한 뒤에, 실제 테스트 구간을 반복문을 사용하여 확인하였다. 단순한 구현 문제라 큰 문제없이 풀이할 수 있었다 :)