깃허브:
https://github.com/MSIQOC/BOJ/blob/master/b9093_%EB%8B%A8%EC%96%B4%EB%92%A4%EC%A7%91%EA%B8%B0.java
https://www.acmicpc.net/problem/9093
넣은 순서의 반대로 출력되는 스택의 성질을 이용해서 아주 간단하게 구현할 수 있는 문제였다.
코드에서는 케이스 개수를 n으로 정해주고, 입력받은 문장에서 한글자씩 스택에 넣을 때 다음으로 스택에 들어올 단어가 스페이스이면 그동안 스택에 있었던 모든 글자를 되려 스택에서 빼내도록 했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import java.util.*;
import java.io.*;
public class b9093_´Ü¾îµÚÁý±â {
public static void main(String args[]) throws IOException {
Scanner sc = new Scanner(System.in);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = sc.nextInt();
sc.nextLine();
Stack<Character> stack = new Stack<>();
for(int i=0 ;i<n; ++i) {
String s = sc.nextLine();
for(int j=0; j<s.length(); ++j) {
if(s.charAt(j)==' ') {
while(!stack.empty())
bw.write(stack.pop());
bw.write(' ');
}
else
stack.push(s.charAt(j));
}
while(!stack.empty())
bw.write(stack.pop());
bw.write("\n");
}
bw.flush();
}
}
|
'백준 풀이' 카테고리의 다른 글
백준 9012 - 괄호 (0) | 2021.01.10 |
---|---|
백준 17413 - 단어뒤집기 2 (0) | 2021.01.09 |
백준 10866 - 덱 (0) | 2021.01.06 |
백준 10845-큐 (0) | 2021.01.04 |
백준 10828번 - 스택 (0) | 2021.01.04 |