[D3] 진용이네 주차타워 - 9280
성능 요약
메모리: 62,012 KB, 시간: 251 ms, 코드길이: 1,888 Bytes
제출 일자
2023-11-07 10:21
출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do
import java.util.*;
class Solution {
public static void main(String args[]) throws Exception {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int tc = 1; tc <= T; tc++) {
int n = sc.nextInt();
int m = sc.nextInt();
int[] rate = new int[n];
int[] weight = new int[m];
int[] parking = new int[m];
boolean[] canP = new boolean[n];
Queue<Integer> wating = new LinkedList<>();
int sum = 0;
int size = 0;
for(int i = 0; i < n; i ++){ rate[i] = sc.nextInt(); }
for(int i = 0; i < m; i++) { weight[i] = sc.nextInt(); }
for(int i = 0; i < 2 *m; i++){
int car = sc.nextInt();
if(car > 0){
if(size < n){
for(int j = 0; j < n; j++){
if(!canP[j]){
parking[car-1] = j;
canP[j] = true;
size++;
break;
}
}
}
else{ wating.offer(car); }
}
else{
car = Math.abs(car)-1;
sum += rate[parking[car]] * weight[car];
canP[parking[car]] = false;
size--;
if(!wating.isEmpty()){
for(int j = 0; j < n; j++){
if(!canP[j]){
canP[j] = true;
parking[wating.poll()-1] = j;
size++;
}
}
}
}
}
System.out.println("#" + tc + " " + sum);
}
}
}
'알고리즘 - SWEA > D3' 카테고리의 다른 글
[SW expert Academy] SWEA 1244번 최대 상금 자바(Java) (0) | 2023.11.07 |
---|---|
[SW expert Academy] SWEA 9658번 유효숫자 표기 자바(Java) (0) | 2023.11.07 |
[SW expert Academy] SWEA 7532번 세영이의 SEM력 연도 자바(Java) (0) | 2023.11.06 |
[SW expert Academy] SWEA 5515번 2016년 요일 맞추기 자바(Java) (0) | 2023.11.06 |
[SW expert Academy] SWEA 10200번 구독자 전쟁 자바(Java) (0) | 2023.11.06 |