[백준] 14469번 소가 길을 건너간 이유 3

거북이·2023년 1월 16일
0

백준[실버4]

목록 보기
61/91
post-thumbnail

💡문제접근

  • 소가 농장에 도착한 시간과 농장에 도착해서 검문을 받는 시간을 리스트에 같이 저장하고 리스트를 1차적으로 도착시간을 기준으로 오름차순 정렬한 후 2차적으로 검문시간을 기준으로 오름차순 정렬을 수행했다.
  • 소가 도착한 시간과 검문을 받는 시간을 더한 총 시간이 그 다음 소가 도착한 시간보다 적게 걸린다면 다음 소가 도착한 시간과 검문을 받는 시간으로 값을 바꿔주고 만약 많이 걸린다면 그 다음 소가 대기했다가 검문을 받는 시간만 더해주면 된다.

💡코드(메모리 : 30616KB, 시간 : 36ms)

N = int(input())
li = []
for _ in range(N):
    arrival, checkpoint = map(int, input().split())
    li.append([arrival, checkpoint])

li = sorted(li, key = lambda x : (x[0], x[1]))
time = li[0][0] + li[0][1]
for i in range(len(li)-1):
    if li[i+1][0] > time:
        time = li[i+1][0] + li[i+1][1]
    else:
        time += li[i+1][1]
print(time)

💡소요시간 : 8m

0개의 댓글