본문 바로가기

프로그래머스 코딩테스트 연습 Lv1

Lv2 - 프린터

[문제 설명]

- 중요도가 높은 순서대로 먼저 인식하는 프린터가 있다.

1) 대기 목록에서 가장 앞에 있는 문서를 꺼내옴.

2) 남은 대기 목록에서 꺼내온 문서보다 중요도가 높은게 하나라도 있으면 꺼내온걸 대기 가장 마지막으로 보냄.

3) 그렇지 않으면 꺼내온거 인쇄.

- 중요도 배열 priorities 배열

- 내가 인쇄 요청한 문서 location 인덱스

- 위 두 가지가 주어질 때 내가 인쇄할 문서가 몇번째로 인쇄 되는지 리턴.

 

[문제 해결]

- 인덱스 저장배열 idxArr

- 값 저장배열 valArr

- 위 두 배열 만들어서 각각 저장 후 결과 배열인 resultArr을 만든다. 이 배열에는 중요한 순으로 소팅한 결과가 들어감.

- 반복문에서 뽑은 값이 배열 내 최대 값일경우 i 를 하나 증가 시키고 아닐경우 pop해서 다시 집어 넣는다.

- 마지막으로 valArr==resultArr 일경우 반복문을 탈출 함.

return idxArr에 있는 location 값의 인덱스번호+1 을 추출함.

 

[결과]

ㅋㅋㅋㅋㅋㅋ 왜인지 모름.. 다음 스택/큐 문제 풀다가 다시 봐보기로...(22.01.11)

 

'프로그래머스 코딩테스트 연습 Lv1' 카테고리의 다른 글

Lv3 - [이중우선순위큐]  (1) 2022.01.19
Lv2 [더 맵게]  (0) 2022.01.17
Lv1 - 2016  (0) 2021.09.10
Lv2 - 타겟넘버  (0) 2021.09.06
Lv1 - 실패율  (0) 2021.09.06