Skip to content

Commit 4896de5

Browse files
committed
[Queue] programmers Queue problemset
1 parent e98b853 commit 4896de5

File tree

5 files changed

+77
-0
lines changed

5 files changed

+77
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@
214214
| 03 | | [SWEA-1225 암호생성기](./src/Queue/swea1225) | |
215215
| 04 | | [Baekjoon-1158 요세푸스 문제](./src/Queue/P1158) | |
216216
| 05 | | [Programmers 다리를 지나는 트럭](./src/Queue/prg42583) | |
217+
| 06 | | [Programmers 기능개발](./src/Queue/prg42586) | |
218+
| 07 | | [Programmers 프린터](./src/Queue/prg42587) | |
217219

218220
### Tree
219221

src/Queue/prg42586/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## [programmers - 스택/큐] 기능개발
2+
3+
![image](https://user-images.githubusercontent.com/22045163/115884403-d66eea00-a489-11eb-871c-a9b61c08bb68.png)

src/Queue/prg42586/Solution.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package Queue.prg42586;
2+
3+
import java.util.*;
4+
5+
class Solution {
6+
public int[] solution(int[] progresses, int[] speeds) {
7+
8+
List<Integer> list = new ArrayList<>();
9+
int[] time = new int[speeds.length];
10+
11+
for (int i = 0; i < speeds.length; i++) {
12+
time[i] = (int) Math.ceil((double) (100 - progresses[i]) / speeds[i]);
13+
}
14+
15+
int cur = time[0], cnt = 1;
16+
for (int i = 1; i < speeds.length; i++) {
17+
if (cur < time[i]) {
18+
list.add(cnt);
19+
cur = time[i];
20+
cnt = 1;
21+
} else {
22+
cnt ++;
23+
}
24+
}
25+
list.add(cnt);
26+
27+
return listToArr(list);
28+
}
29+
30+
private int[] listToArr(List<Integer> list) {
31+
int[] res = new int[list.size()];
32+
for (int i = 0; i < list.size(); i++) {
33+
res[i] = list.get(i);
34+
}
35+
return res;
36+
}
37+
}

src/Queue/prg42587/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## [programmers - 스택/큐] 프린터
2+
3+
![image](https://user-images.githubusercontent.com/22045163/115884265-ab849600-a489-11eb-8f79-de2b0df65c66.png)

src/Queue/prg42587/Solution.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package Queue.prg42587;
2+
3+
import java.util.*;
4+
5+
class Solution {
6+
public int solution(int[] priorities, int location) {
7+
8+
int N = priorities.length;
9+
LinkedList<Integer> q = new LinkedList<>();
10+
11+
for (int i = 0; i < N; i++) q.offer(i);
12+
13+
int cnt = 0;
14+
while (!q.isEmpty()) {
15+
int J = q.removeFirst();
16+
boolean print = true;
17+
for (int i = 0; i < q.size(); i++) {
18+
if (priorities[J] < priorities[q.get(i)]) {
19+
q.addLast(J);
20+
print = false;
21+
break;
22+
}
23+
}
24+
if (print) {
25+
cnt ++;
26+
if (J == location) return cnt;
27+
}
28+
}
29+
30+
return N;
31+
}
32+
}

0 commit comments

Comments
 (0)