우당탕탕 개발일지
[해싱] Softeer level 2 GBC (Python 파이썬) 본문
💡문제 링크
💡문제 분석 요약
1. 엘레베이터가 0m부터 100m까지 일정한 거리를 이동
2. 각 구간마다 제한속도가 있음. 예를 들어 첫번째 구간의 길이가 50m이고, 제한속도가 50m/s이면 그 구간을 지날 때에는 속도가 50m/s를 넘으면 안된다.
3. 테스트를 해보았을 때, 제한속도를 가장 크게 넘겼을 때의 속도를 구하기
💡알고리즘 설계
1. 각 구간별 제한속도를 담은 리스트 elev. 인덱스가 구간 위치에 해당하고, 원소가 제한속도에 해당한다.
2. 각 구간별 테스트 운행속도를 담은 리스트 test. 인덱스가 구간 위치에 해당하고, 원소가 운행속도에 해당한다.
3. 배열 elev, test의 같은 원소를 하나하나 탐색하며, elev[i] < test[i]인 경우 answer의 후보로 test[i] - elev[i](속도 초과값)을 넣는다.
4. 후보들 중에서 가장 큰 값을 최종 answer로 출력한다.
💡코드
import sys
n, m = map(int, input().split())
elev = []
for _ in range(n):
a, b = map(int, input().split())
elev += [b] * a
test = []
for _ in range(m):
c, d = map(int, input().split())
test += [d] * c
answer = 0
for i in range(100):
if elev[i] < test[i]:
answer = max(answer, test[i] - elev[i])
print(answer)
💡 느낀점 or 기억할정보
리스트가 너무 길어지면 시간초과 걸릴까 걱정했는데 시간초과 안 떠서 신기했던 문
'알고리즘' 카테고리의 다른 글
[수학] Softeer level 1 위험한 효도 (Python 파이썬) (0) | 2024.03.22 |
---|---|
[해싱] Softeer level 2 비밀메뉴 (Python 파이썬) (0) | 2024.03.22 |
[정렬] Softeer level 2 금고털이 (Python 파이썬) (0) | 2024.03.17 |
[해싱] Softeer level 2 진정한 효도 (Python 파이썬) (0) | 2024.03.17 |
[해싱] Softeer level 3 성적 평균 (Python 파이썬)(반올림, 소수점) (1) | 2024.03.15 |