[소프티어] GBC (파이썬)

Woonil·2025년 2월 6일
0

알고리즘

목록 보기
27/38
post-thumbnail

🤔접근

아래와 같은 모양의 두 개의 차트가 겹쳐있다고 생각하면 쉽다. 두 차트를 각각 A(구간), B(테스트 구간)라고 했을 때, B 차트가 A 차트보다 더 위에 있는 경우를 생각해보자. 그 경우가 제한 속도를 넘어간 것이다. 따라서, x축을 순차 순회(배열 순회)하며 단순히 B가 더 높은 경우에만 정답값을 최댓값 함수 max()로 초기화하면 된다.

또한, 파이썬은 배열의 곱셈 연산을 허용하므로 배열 초기화에 활용하면 쉽게 두 리스트를 생성할 수 있다. 제한속도를 넘기지 않는 경우, 0을 출력해야 하므로 출력값을 초기에 0으로 설정한다는 것에 유의한다.

사진 출처:[https://demo.riamore.net/HTML5demo/chart/Docs/User%20Manual%20-%20html/line-chart.html]

😎풀이

import sys
input=sys.stdin.readline

a,b=[],[]
n,m=map(int,input().rstrip().split())

for _ in range(n):
    d,v=map(int,input().rstrip().split())
    a+=[v]*d
for _ in range(m):
    d,v=map(int,input().rstrip().split())
    b+=[v]*d

ans=0
for i in range(len(b)):
    diff=b[i]-a[i]
    if diff>0:
        ans=max(ans,diff)

print(ans)
profile
프론트 개발과 클라우드 환경에 관심이 많습니다:)

0개의 댓글

관련 채용 정보