본문 바로가기

백준 문제풀이

백준 17952번 - 과제는 끝나지 않아!

https://www.acmicpc.net/problem/17952

 

17952번: 과제는 끝나지 않아!

성애는 이번 학기에 전공을 정말 많이 듣는다. 이로 인해 거의 매일을 과제를 하면서 보내고 있다. 그런데도 과제가 줄어들 기미가 보이지 않는데, 바로 분단위로 과제가 추가되고 있기 때문이

www.acmicpc.net

  • 접근 방법

문제를 보자마자 각 과제의 점수와 걸리는 시간을 pair로 짝지어서 스택에 저장하자는 아이디어가 떠올랐다.

문제에서 주어진 1.번 조건을 보면 LIFO 스택을 사용하라고 알려주고있다.

 

 

 

  • 논리 흐름(알고리즘)

새로운 과제가 주어질 경우(1) 과제의 점수와 걸리는 시간을 짝지어 스택에 저장해준다. 이 때 시작과 동시에 과제가 진행되기 때문에 걸리는 시간값에 -1을 해준다.

과제가 주어지지 않을경우(0) 스택의 top에 있는 과제(진행중인 과제)의 걸리는 시간에 -1 해준다.

이 때 스택이 비어있는경우 에러가 나기 때문에 예외처리에 주의한다.

위의 과정 후 스택 top에 있는 과제의 수행시간이 0이 되면 점수를 얻고 pop해준다.