반응형
문제 : https://www.acmicpc.net/problem/17413
풀이 :
처음엔 어떻게 해야되지 고민했다.
하나하나 스택과 Queue를 같이 이용해서 날려야되나 했는데 오히려 간단하게 풀릴것같아 스택 하나로만 해결했다.
관건은 "<" 와 ">"이거로 거꾸로 Flag를 잡아주는것..!!!!!
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
String[] S = sc.nextLine().split("");
Stack<String> stack = new Stack<String>();
boolean isc = false;
for (int i = 0; i < S.length; i++) {
if(S[i].equals("<")) {
//이거 나오기 전까지 저장해놓은것을 거꾸로 출력
isc = true;
print(stack);
System.out.print(S[i]);
}else if(S[i].equals(">")) {
isc = false;
System.out.print(S[i]);
}else if(isc) {
System.out.print(S[i]);
}else {
if(S[i].equals(" ")) {
print(stack);
System.out.print(S[i]);
}else {
stack.push(S[i]);
}
}
}
print(stack);
}
static void print(Stack<String> stack) {
while(!stack.isEmpty()) {
System.out.print(stack.peek());
stack.pop();
}
}
반응형
'Java > Algorithm' 카테고리의 다른 글
[Java-Algorithm] 백준 3085 사탕게임 풀이 (0) | 2021.07.21 |
---|---|
[Java-Algorithm] 백준 17298 오큰수 풀이 (0) | 2021.07.21 |
[Java-Algorithm] 백준1406 에디터 풀이 (0) | 2021.07.15 |
[Java-Algorithm] 백준 1874 스택 수열 풀이 (0) | 2021.07.15 |
[Java-Algorithm] 백준 9093 단어뒤집기 (0) | 2021.07.15 |