Problem Solving/Baekjoon
[백준] 14713 앵무새 - Data Structure / Java
graycode
2022. 12. 17. 21:58
• 문제 링크
14713번: 앵무새
자가용 비행기를 타고 세계 일주를 하던 pps789와 cseteram은 어느 날 엔진 고장으로 인해 이름 모를 섬에 불시착하게 된다. 그들은 이 섬을 탐험하는 도중 아주 신기한 사실을 알게 되었는데, 바로
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
static Queue<String>[] arr;
static StringTokenizer st;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
arr = new LinkedList[n];
for (int i = 0; i < n; i++) {
arr[i] = new LinkedList<>();
st = new StringTokenizer(br.readLine());
while (st.hasMoreTokens())
arr[i].offer(st.nextToken());
}
bw.write(check(br.readLine()) ? "Possible" : "Impossible");
bw.flush();
}
private static boolean check(String input) {
st = new StringTokenizer(input);
while (st.hasMoreTokens()) {
String word = st.nextToken();
boolean flag = false;
for (Queue<String> q : arr) {
if (!q.isEmpty() && word.equals(q.peek())) {
q.poll();
flag = true;
break;
}
}
if (!flag)
return false;
}
for (Queue<String> q : arr) {
if (!q.isEmpty())
return false;
}
return true;
}
}