728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 풀이 코드를 정리하고 있습니다.
풀이 코드
- Queue 자료구조를 사용하여 풀이
package inflearn.stack_queue;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
//교육과정 설계
public class Main5_7 {
public static String solution(String required, String subjects) {
Queue<Character> queue = new LinkedList<>();
for (char c : required.toCharArray()) {
queue.offer(c);
}
for (char c : subjects.toCharArray()) {
if (queue.contains(c)) {
//교육과정에 과목이 포함되어있지만, 순서가 다르다면
if (queue.poll() != c) {
return "NO";
}
}
}
if (queue.isEmpty()) {
return "YES";
} else {
//필수 과목중 교육과정에 포함되지 않는 과목이 있을때
return "NO";
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String required = br.readLine();
String subjects = br.readLine();
System.out.println(solution(required, subjects));
br.close();
}
}
'알고리즘 문제풀이 > 인프런' 카테고리의 다른 글
[알고리즘] 6-1 선택 정렬 (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.06 |
---|---|
[알고리즘] 5-8 응급실 - Queue (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.06 |
[알고리즘] 5-5 쇠막대기 - Stack (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.05 |
[알고리즘] 5-6 공주 구하기 - Queue (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.05 |
[알고리즘] 5-4 후위식 연산(postfix) - Stack (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.06.02 |
댓글