문제출처: https://www.acmicpc.net/problem/7983
1. 문제 접근 방식
처음에는 리스트 두 개를 사용하려고 했는데 메모리 초과가 떴다.
해시함수처럼 입력을 받고 time이라는 변수를 두고
time과 arr[i][1]과의 관계를 따지면서
time값을 초기화 해줬다.
2. 내가 푼 코드
import sys
case = int(sys.stdin.readline())
arr = []
for _ in range(case):
arr.append(list(map(int,sys.stdin.readline().split())))
arr.sort(key=lambda x: x[1] ,reverse=True)
time = arr[0][1]-arr[0][0]+1
for i in range(1,len(arr)):
if arr[i][1]>= time:
time = arr[i][1] - arr[i][0] - (arr[i][1] - time)
else:
time = arr[i][1] - arr[i][0] + 1
print(time-1)
3. 결과 및 느낀점
당연히 리스트를 여러 개 쓰면 for문도 계속 쓰게되고 메모리초과 시간초과가 발생하기 쉽다.
변수로 해결할 수 있으면 정렬 문제는 변수와의 관계로 해결하자.
'[Boj문제풀이]' 카테고리의 다른 글
[Boj/백준] 13164 Python (0) | 2021.10.05 |
---|---|
[Boj/백준] 2075 Python (0) | 2021.10.04 |
[Boj/백준] 11497 Python (0) | 2021.10.04 |
[Boj/백준] 17129 Python (0) | 2021.09.30 |
[Boj/백준] 7576 Python (0) | 2021.09.29 |