



쉽지만 어려웠던...문제라고 해야하나,
창의력이 모자라서, 풀이 힌트 보고 만들어서 풀었습니다. 코드까지 본건 아니지만, 자력으로는 해결 못한셈...
핵심은 태그 상태 및 공백이 있으면 그대로 입력, 그 외의 경우는 공백이나 <가 나올때까지 스택에 쌓았다가 한번에 pop으로 방출하는 것.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
Stack <Character> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
boolean tag = false;
for (int i=0; i<str.length(); i++) {
char ch = str.charAt(i);
if (ch=='<') {
while (!stack.isEmpty()) {
sb.append(stack.peek());
stack.pop();
}
tag = true;
sb.append('<');
} else if (ch==' ') {
while (!stack.isEmpty()) {
sb.append(stack.peek());
stack.pop();
}
sb.append(' ');
} else if (ch=='>') {
tag = false;
sb.append('>');
} else if (tag) {
sb.append(ch);
} else {
stack.push(ch);
}
if (i==str.length()-1) {
while (!stack.isEmpty()) {
sb.append(stack.peek());
stack.pop();
}
}
}
System.out.println(sb);
}
}'백준 문제풀이' 카테고리의 다른 글
| 17298. 오큰수 (자바, Java) (0) | 2022.11.20 |
|---|---|
| 10799. 쇠막대기 (자바, Java) (0) | 2022.11.20 |
| 10866. 덱 (자바, Java) (0) | 2022.11.05 |
| 1158. 요세푸스 문제 (자바, Java) (0) | 2022.11.05 |
| 10845. 큐 (자바, Java) (0) | 2022.11.05 |