소스 코드
from collections import deque n = int(input()) res = 0 # []로 선언하면 시간초과 발생 store = deque() # 현재 진행중인 과제의 점수 score = 0 # 현재 진행중인 과제의 남은 시간 time = 0 for q in range(n): tmp = input().rstrip() # 과제가 발생하는 경우 if tmp[0] == '1': a,b,c = map(int,tmp.split()) # 기존에 진행중이던 과제가 있는 경우 if score != 0: # 기존에 진행중이던 과제 정보 저장 store.appendleft([score,time]) time = c - 1 if time == 0: score = 0 res += b else: score = b # 과제가 발생하지 않는 경우 else: # 기존에 진행중이던 과제가 없는 경우 if score == 0: # 이 전에 진행하던 과제가 존재하는 경우 if len(store) != 0: tmp_score, tmp_time = store.popleft() time = tmp_time - 1 if time == 0: res += tmp_score else: score = tmp_score # 기존에 진행중이던 과제가 있는 경우 else: time -= 1 if time == 0: res += score score = 0 print(res)
해결 방법
1. 구현문제
2. deque와 pypy를 사용
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 오렌지먹은지오랜지 - PYTHON #27962 (0) | 2023.06.11 |
---|---|
[BOJ/백준 코딩] 구간 합 구하기 - PYTHON #2042 (0) | 2023.06.04 |
[BOJ/백준 코딩] 크로아티아 알파벳 - PYTHON #2941 (0) | 2023.06.02 |
[BOJ/백준 코딩] 도키도키 간식드리미 - PYTHON #12789 (0) | 2023.05.28 |
[BOJ/백준 코딩] 그룹 단어 체커 - PYTHON #1316 (0) | 2023.05.27 |