[문제]
https://www.acmicpc.net/problem/17413
[풀이]
스택을 이용해서 태그가 아닌 단어가 나오면 뒤집어서 저장해준다.
[코드]
package heap_stack_dequeue;
import java.io.*;
import java.util.*;
public class boj_17413_단어뒤집기 {
static String s;
public static void main(String[] args) throws Exception{
Scanner scan = new Scanner(System.in);
s = scan.nextLine();
StringBuilder sb = new StringBuilder();
int idx = 0;
Stack<Character> stack = new Stack<>();
while(idx<s.length()){
//< tag가 나오면 > 나올 때까지 sb에 이동
if(s.charAt(idx)=='<'){
while(true){
sb.append(s.charAt(idx++));
if(s.charAt(idx)=='>'){
sb.append(s.charAt(idx));
idx++;
break;
}
}
}
else if(s.charAt(idx)==' ') {
sb.append(' ');
idx++;
}
else{
//단어가 나오면 뒤집기
while(idx<s.length() && s.charAt(idx)!=' ' && s.charAt(idx)!='<'){
stack.push(s.charAt(idx++));
}
while(!stack.isEmpty()){
sb.append(stack.pop());
}
}
}
System.out.println(sb.toString());
}
}
'알고리즘 공부 및 문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[boj] 백준 20207 달력 (Java) - 그리디 (0) | 2023.05.12 |
---|---|
[boj] 백준 1548 부분 삼각 수열 (Java) - 완전탐색 (0) | 2023.05.12 |
[boj] 백준 15661 스타트 링크 (Java) - 완전탐색 (0) | 2023.05.05 |
[boj] 백준 12933 오리 (Java) - 그리디 (0) | 2023.05.05 |
[boj] 백준 2615 오목 (Java) - 완전탐색 (0) | 2023.05.04 |