백준 14713 앵무새
큐 실버3 드가자
https://www.acmicpc.net/problem/14713
해당 문제는 그림과같이 설명할수있다..
문장이 있으면 앵무새 문장 세트에서 한개씩 뽑아와서 마지막으로 입력받은 문장들을 구성할수있는지?
그리고 고려해야될점은 예제입력을 보면 알수있다.
-
앵무새의 단어 구성순서를 지키는가
-
알맞은 단어로 구성하고있는가
그래서 그걸 고려하면
단어 구성순서를 지키기 위해 선입선출 큐를 이용하면 I LOVE YOU 하면
I나오고 LOVE나오고 YOU가 나오기 때문에 순서를 지킬수있고
알맞은 단어구성은 결국 큐에서 다뽑아내고 큐에 남아있는 값들을 체킹해주면 간단한문제이다
다음은 소스코드
import java.util.*;
import java.io.*;
public class 앵무새 {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int type = Integer.parseInt(br.readLine());
Queue[] qlist = new Queue[type];
for(int i=0;i<type;i++) {
qlist[i] = new LinkedList<String>();
StringTokenizer st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()) {
qlist[i].add(st.nextToken());
}
}
StringTokenizer st = new StringTokenizer(br.readLine());
boolean flag = false;
while(st.hasMoreTokens()) {
boolean cflag = true;
String word = st.nextToken();
for(int i=0;i<type;i++) {
if(!qlist[i].isEmpty()) {
if(qlist[i].peek().equals(word)) {
qlist[i].poll();
cflag = false;
break;
}
}
}
// 매치하는값이 없을떄
if(cflag) {
flag = true;
break;
}
}
for(int i=0;i<type;i++) {
if(!qlist[i].isEmpty()) {
flag = true;
}
}
if(flag) {
System.out.println("Impossible");
}
else {
System.out.println("Possible");
}
}
}
얼른 골1까지 돌파해보자
Author And Source
이 문제에 관하여(백준 14713 앵무새), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tekies09/백준-14713-앵무새저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)