원본 : https://www.acmicpc.net/problem/1524
1524번: 세준세비
첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 100보다 작거나 같다. 각 테스트 케이스는 다음과 같이 이루어져 있다. 첫째 줄에 N과 M이 들어오고, 둘째 줄에는 세준이의 병사들의 힘이 들어
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
private static final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws Exception {
int t = Integer.parseInt(bufferedReader.readLine());
StringBuilder sb = new StringBuilder();
while (t-- > 0) {
bufferedReader.readLine();
StringTokenizer st = new StringTokenizer(bufferedReader.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
Queue<Integer> nList = new PriorityQueue<>(Comparator.naturalOrder());
Queue<Integer> mList = new PriorityQueue<>(Comparator.naturalOrder());
st = new StringTokenizer(bufferedReader.readLine());
while (n-- > 0) {
nList.add(Integer.parseInt(st.nextToken()));
}
st = new StringTokenizer(bufferedReader.readLine());
while (m-- > 0) {
mList.add(Integer.parseInt(st.nextToken()));
}
while (!nList.isEmpty() && !mList.isEmpty()) {
if (nList.peek() >= mList.peek()) {
mList.poll();
} else {
nList.poll();
}
}
if (mList.isEmpty()) {
sb.append("S");
} else {
sb.append("B");
}
sb.append("\n");
}
System.out.println(sb);
}
}
댓글 영역