반응형
9093번: 단어 뒤집기
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는
www.acmicpc.net
이전에 java에 스트림을 이용해 풀었던 문제지만 더 기존 메소드를 사용하지 않고 풀어보는 연습을 하려고 stack을 사용하였습니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Stack<Character> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int T = Integer.parseInt(st.nextToken());
while (T-- > 0) {
char str[] = br.readLine().toCharArray();
for (char ch : str) {
if (ch == ' ' || ch == '\n') {
while (!stack.isEmpty())
sb.append(stack.pop());
sb.append(ch);
}
else stack.push(ch);
}
while (!stack.isEmpty())
sb.append(stack.pop());
sb.append('\n');
}
System.out.print(sb);
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 17413번 단어 뒤집기 2 [ Java ] (0) | 2021.03.28 |
---|---|
백준 9012번 괄호 [ C, Java ] (0) | 2021.03.28 |
백준 1213번 팰린드롬 만들기 [ Java ] (0) | 2021.03.25 |
백준 9093번 단어 뒤집기 [ Java ] (0) | 2021.01.25 |
백준 1259번 펠린트롬수 [ Java ] (0) | 2021.01.19 |