반응형
public class Q_17413 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String line = br.readLine();
boolean tag = false;
Stack<Character> stack = new Stack<>();
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (c == '<') { // 첫번째 태그 시작 <, 두번째 태그 시작 <
while(!stack.isEmpty()) { //두번째 태그 시작 시, 태그 내용 단어 뒤집기
System.out.print(stack.pop());
}
System.out.print(c);
tag = true;
}else if(c == '>') { // 태그 종료 >
System.out.print(c);
tag = false;
}else if(tag) { // 태그 시작과 종료 여부
System.out.print(c);
}else {
if(c == ' ') { // 공백으로 단어 구분, 앞의 단어가 입력이 모두 끝난 경우 뒤집기
while(!stack.isEmpty()) {
System.out.print(stack.pop());
}
System.out.print(c);
} else {
stack.push(c);
}
}
}
//태그 없이 작성한 문자를 뒤집는 경우, 마지막 단어의 끝은 공백이 아니기 때문에 마지막 문자를 뒤집기 위해 사용
while(!stack.isEmpty()) {
System.out.print(stack.pop());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
반응형
'Algorithm > 백준 문제풀이' 카테고리의 다른 글
백준 17299 - 오등큰수(자바 구현) (0) | 2021.12.26 |
---|---|
백준 17298 - 오큰수(자바 구현) (0) | 2021.12.15 |
백준 1158 - 요세푸스 문제(자바 구현) (0) | 2021.10.19 |
백준 1406 - 에디터(자바 구현) (0) | 2021.10.13 |
백준 1874 - 스택 수열(자바 구현) (0) | 2021.09.17 |