https://www.acmicpc.net/problem/9093
9093번: 단어 뒤집기
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는
www.acmicpc.net
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
Stack<Character> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
while(T-- >0){
String str = br.readLine();
for(char x : str.toCharArray()){
if(x!=' '){ // 공백이 아니라면
stack.push(x); // 스택에 push
}
else{ // 공백이라면
while(!stack.isEmpty()){ // 스택에 있는 값들을 모두 pop
sb.append(stack.pop());
}
sb.append(" ");
}
}
while(!stack.isEmpty()){ // 끝에 공백이 없는 마지막 단어 pop
sb.append(stack.pop());
}
sb.append("\n");
}
System.out.println(sb);
}
}
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 10866번- 덱 (0) | 2022.10.05 |
---|---|
[JAVA] 백준 10845번- 큐 (0) | 2022.10.05 |
[JAVA] 백준 10828번- 스택 (0) | 2022.10.04 |
[JAVA] 백준 1388번- 바닥 장식 (0) | 2022.10.03 |
[JAVA] 백준 2607번- 비슷한 단어 (0) | 2022.10.02 |