-
Java 9093 단어 뒤집기PS 2023. 5. 1. 17:13
풀이 :
간단하게 char형 배열의 스택을 구현한 뒤 토큰의 갯수를 구하여 단어별로 스택에 push, pop을 하여 역순으로 정렬된 단어를 StringBuilder에 추가하여 출력하였습니다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class CharStack { char[] stack; int size; public CharStack(){ this.stack = new char[20]; this.size = -1; } public void push(char ch){ size ++; stack[size] = ch; } public char pop(){ if(size == -1){ return 'x'; }else { char ch = stack[size]; size --; return ch; } } public boolean empty(){ if(size == -1){ return true; } return false; } } public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringTokenizer st; StringBuilder sb = new StringBuilder(); for(int i = 0; i < n; i++){ st = new StringTokenizer(br.readLine(), " "); int i1 = st.countTokens(); for (int j = 0; j < i1; j++){ String token = st.nextToken(); int length = token.length(); CharStack stack = new CharStack(); for(int k = 0; k < length; k++){ stack.push(token.charAt(k)); } while(!stack.empty()){ sb.append(stack.pop()); } sb.append(" "); } sb.append("\n"); } System.out.print(sb); } }
'PS' 카테고리의 다른 글
Java 10845 큐 (0) 2023.05.02 Java 1406 에디터 (0) 2023.05.02 Java 1874 스택 수열 (0) 2023.05.01 Java 10828 스택 (0) 2023.04.29 Java 10810번 문제. 공넣기 (0) 2023.04.20