ALGORITHM
[JAVA] 알고리즘 : Queue- 교육과정설계
연듀
2022. 7. 14. 16:07
import java.util.*;
public class Main {
public String solution(String need, String plan){
String answer="YES";
Queue<Character> Q=new LinkedList<>();
for(char x : need.toCharArray()) Q.offer(x); // 큐에 필수 과목 세팅
for(char x : plan.toCharArray()){
if(Q.contains(x)){ // 큐에 있으면 필수과목
if(x!=Q.poll()) return "NO"; // 큐에 있는 첫 과목이 아니면
// poll()은 꺼내고 리턴받음
}
}
if(!Q.isEmpty()) return "NO"; // 큐가 비어있지 않으면
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String a=sc.next();
String b=sc.next();
System.out.println(T.solution(a,b));
}
}
필수이수과목들을 큐에 넣는다.
수업설계한 과목들을 차례로 돌며 큐에 있고 큐에서 poll()한 값(첫번째 과목)이면 필수이수과목이다.
그렇게 하나씩 꺼내 필수이수과목 순서와 같은지 확인한다.
수업설계한 과목들을 다 돌고도 큐가 비어있지 않아도 NO를 리턴한다.
반응형