본문 바로가기

알고리즘/일반

백준 17952번: 과제는 끝나지 않아 (JAVA)

728x90

 

문제 해석

 

한 학기가 몇분인지 N이 입력값으로 주어지고 N분째에 주어진 과제의 정보가 주어진다.
과제는 주어질수도 있고 안주어질 수도 있다.

과제는 다른 과제를 하던 중이라도 분마다 가장 최근에 나온 순서대로 한다. 과제가 끝났다면 그 다음으로 최근인 과제를 이어서 마저 한다.

 

알고리즘

 

과제를 가장 최근에 나온 순서대로 하므로 스택을 이용해야 한다.

과제가 주어지는 경우와 과제가 주어지지 않는 경우로 나눈다. 

과제가 주어지는 경우에 만약 과제 해결 시간이 1분이라면 바로 해결 처리하고 아니라면 해결 시간을 1분 줄인 뒤 스택에 넣어준다.

과제가 안주어지고 스택이 비어있지 않다면 가장 마지막에 들어온 과제를 한다. (과제 해결 시간을 1분 줄인다) 이 경우  가장 마지막에 들어온 과제의 남은 해결 시간이 0이라면 과제 해결 처리하고 스택에서 지워준다.

 

코드

 

728x90