728x90
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
Queue<Integer> days = new LinkedList<>();
Queue<Integer> resultQ = new LinkedList<>();
int j = 0;
for(int speed : speeds){
int day = 0;
int progress = progresses[j];
while(progress < 100){
day++;
progress += speed;
}
days.offer(day);
j++;
}
int temp = days.poll();
int result = 1;
while(!days.isEmpty()){
int qPeek = days.poll();
if(temp >= qPeek) {
result++;
}else {
resultQ.offer(result);
result = 1;
temp = qPeek;
}
}
int i = 0;
resultQ.offer(result);
int[] answer = new int[resultQ.size()];
while(!resultQ.isEmpty()) {
answer[i] = resultQ.poll();
i++;
}
return answer;
}
}
[주의점]
1. Queue -> offer(), poll() 기억하기 / Stack -> push(), pop()
cf) peek()은 제거x
2. < , 조건 잘 천천히 꼼꼼하게 확인하기 - 코테에선 디버깅 기능이 안되니까
728x90
'BAEKJOON, 코딩테스트 관련' 카테고리의 다른 글
백준 9093번 단어뒤집기 JAVA - Stack (0) | 2023.02.25 |
---|---|
백준 11286번 JAVA - 우선순위큐 (0) | 2023.02.18 |
백준 10845번 큐 - JAVA (0) | 2023.02.17 |
백준 10828번 스택 - JAVA(Stack, BufferedWriter) (0) | 2023.02.17 |
백준 2675번 문자열 반복 - JAVA(문자추출: charAt) (0) | 2023.01.23 |