ffinn92 / Keep-at-solve-it

꾸준히 알고리즘 풀기 위한 스터디 저장소입니다.
2 stars 3 forks source link

[220718][검봉][인프런](5-7) 교육과정 설계 #103

Closed crispindeity closed 2 years ago

crispindeity commented 2 years ago

📌 문제

⭐️ 아이디어

🤔 고민한 내용

💪 새롭게 배운 내용

🆘 이해가 어려운 내용

❌ 해결하지 못한 이유

✅ 본인 풀이

🏋️‍♀️ 시도횟수 : 1회 | ⏱ 걸린시간 : 112ms | 💾 메모리 : 26MB

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;

public class ClassDesign {

    static class Main {
        public String solution(String subject, String lesson) {
            String answer = "NO";
            Stack<Character> subjectStack = new Stack<>();
            char[] subjects = subject.toCharArray();
            for (int i = subjects.length - 1; i >= 0; i--) {
                subjectStack.push(subjects[i]);
            }
            char[] lessons = lesson.toCharArray();
            for (int i = 0; i < lesson.length(); i++) {
                if (lessons[i] == subjectStack.peek()) {
                    subjectStack.pop();
                }
                if (subjectStack.isEmpty()) {
                    answer = "YES";
                    break;
                }
            }
            return answer;
        }

        public static void main(String[] args) throws IOException {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
            Main main = new Main();

            String subject = bufferedReader.readLine();
            String lesson = bufferedReader.readLine();

            String result = main.solution(subject, lesson);

            bufferedReader.close();

            bufferedWriter.write(result);
            bufferedWriter.flush();
            bufferedWriter.close();
        }
    }
}

참고한 자료