728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/42586?language=java
Queue(큐)
예외 발생 | 값 리턴 | |
추가 | add(e) | offer(e) |
삭제 | remove() | poll() |
검사 | element() | peek() |
- add(item) : item을 리스트 끝부분에 추가
- remove() : 리스트의 첫 번째 항목을 제거
- peek() : 큐에서 가장 위에 있는 항목을 반환
- isEmpty() : 큐가 비어있을 때 true를 반환
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
Queue<Integer> q = new LinkedList<>();
List<Integer> answerList = new ArrayList<>();
for(int i=0; i<speeds.length; i++){
double remain = (100 - progresses[i])/(double)speeds[i];
int date = (int) Math.ceil(remain);
if(!q.isEmpty() && q.peek() < date){ // 안비었고 리턴값이 date보다 작을때
answerList.add(q.size()); // q의 크기를 넣음
q.clear(); // q 초기화
}
q.offer(date); // q에 date 추가
}
answerList.add(q.size());
int[] answer = new int[answerList.size()];
for(int i=0; i<answer.length;i++){
answer[i] = answerList.get(i);
}
return answer;
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스/JAVA] 더 맵게 (0) | 2021.12.30 |
---|---|
[프로그래머스/JAVA] 주식가격 (0) | 2021.12.28 |
[재귀함수/backtracking] n queens problem (0) | 2021.12.02 |
[재귀함수] Counting Cells in a Blob (0) | 2021.11.30 |
[재귀함수] 미로찾기 (0) | 2021.11.29 |