🌞Algorithm/🔥Baekjoon

[Baekjoon] 24448_図書館 2 (Library 2)

뿌야._. 2025. 8. 19. 09:38
문제(출처: https://www.acmicpc.net/problem/24448)

< 図書館 2 (Library 2) >

 

문제 풀이 

 

Stack을 사용하여 읽은 책의 제목을 구한다.

 

my solution (Java)

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 _24448_ { // 図書館 2 (Library 2)

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

		int q = Integer.parseInt(bf.readLine());

		Stack<String> stack = new Stack<>();

		for (int i = 0; i < q; i++) {
			String str = bf.readLine();

			if (str.equals("READ")) {
				bw.write(stack.pop() + "\n");
			} else {
				stack.add(str);
			}
		}
		
		bw.flush();
	}
}
변수)
q : 행동 횟수
stack : 책 읽는 순서
str : 문자열

 

행동 횟수를 입력받아 행동 횟수만큼 다음 과정을 반복한다.

 

1) 문자열 입력

2) 입력값이 READ라면 stack에서 pop 한 것을 출력, 그렇지 않다면 stack에 값 저장