Problem Solving/Baekjoon
[백준] 12605 단어순서 뒤집기 - Data Structure / Java
graycode
2023. 3. 15. 20:29
• 문제 링크
12605번: 단어순서 뒤집기
스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만
www.acmicpc.net
• 풀이 과정
각 테스트케이스의 단어를 공백을 기준으로 분리하여 stack에 push하고,
넣은 모든 요소를 pop하여 stack의 LIFO 구조에 의해 각 단어의 순서가 뒤집어 출력된다.
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
int tc = 1;
while (n-- > 0) {
Stack<String> stk = new Stack<>();
st = new StringTokenizer(br.readLine());
while (st.hasMoreTokens())
stk.push(st.nextToken());
sb.append("Case #").append(tc++).append(": ");
while (!stk.empty())
sb.append(stk.pop()).append(" ");
sb.append("\n");
}
bw.write(sb.toString());
bw.flush();
}
}