https://www.acmicpc.net/problem/17413
문자열
스택을 사용해서 푸는 방법을 봤는데 나는 문자열로만 풀었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
class Main {
public String solution(String s) {
StringBuilder answer = new StringBuilder();
StringBuilder word = new StringBuilder();
boolean check = false;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '<') {
answer.append(word.reverse());
word = new StringBuilder();
check = true;
word.append(s.charAt(i));
} else if (s.charAt(i) == '>') {
check = false;
word.append(s.charAt(i));
answer.append(word);
word = new StringBuilder();
} else if (check) {
word.append(s.charAt(i));
} else {
if (s.charAt(i) == ' ') {
answer.append(word.reverse());
answer.append(" ");
word = new StringBuilder();
} else {
word.append(s.charAt(i));
}
}
}
// 마지막 남은거 처리
answer.append(word.reverse());
return answer.toString();
}
public static void main(String[] args) throws IOException {
Main solution = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
System.out.println(solution.solution(s));
}
}