230317 Queue 연습 심화

허크·2023년 3월 17일
0
  1. 필요한 것들 선언
    인쇄목록 설정 queue
    큐 안을 bufferSize만큼 0으로 채워줌
    시간측정(int count) 변수 선언
  1. queue poll 해주고
    document[0]을 queue에 add()
    도큐먼트의 첫값을 제외한 배열을 새로 복사(copyOfRange)
    count ++

  2. <while문이므로 a && b -> !a or !b 인동안은 작동>
    반복문 ( document의 length != 0 || (queue.stream().reduce(0, Integer::sum) != 0))

if 문서목록이 비어있지 않을경우
queue.stream().reduce(0, Integer::sum) + document[0]을 sum이란 변수로 선언
if sum > capacities
큐값 poll
sum 갱신하여 새로 선언
if sum < capacities
문서를 큐에 넣어줌
제외한 새 배열을 복사해줌
count++
else sum => capacities
큐에 0값을 새로 넣어줌
count++

if sum < capacities
	큐값 poll
	문서를 큐에 넣어줌
	제외한 새 배열을 복사해줌
	count++

else 문서목록이 비었을 경우
큐에서 인쇄목록 1칸이동
큐에 0값을 새로 넣어줌
count++

  1. count값 리턴

  1. while문 오류
    -> 후조건을 괄호로 묶어주지 않으면 논리적으로 분리되어 에러발생
    -> 후조건을 괄호로 묶어줌
    -> method reference not expected here 발생
    -> 기타 괄호처리 잘못된거 수정

  2. 인쇄 작업 목록의 최대 용량을 초과할 수 없습니다.

  • 인쇄할 문서를 프린터가 모두 인쇄하는데 걸리는 최소 시간을 리턴
    -> 부등호 처리 완벽하게 수정
profile
codestates seb 44th // 다크모드로 보는걸 추천드립니다

0개의 댓글