개발자 미니민의 개발스터디

[백준 JAVA] 9093번 풀이 - 단어 뒤집기

by mini_min

package quiz;

import java.io.*;
import java.util.*;

public class _9093 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int t = Integer.parseInt(br.readLine());

        for(int i=0; i<t; i++){
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            while(st.hasMoreTokens()){
                String n = st.nextToken();
                Stack<Character> stack = new Stack<>();
                for(int j=0; j<n.length(); j++){
                    stack.push(n.charAt(j));
                }

                while(!stack.isEmpty()){
                    bw.write(stack.pop());
                }

                bw.write(" ");

                bw.flush();
            }
        }
    }
}

 

풀이

백준 - 강의 -> 알고리즘 기초 1/2 시작 

1) 공백(' ') 을 기준으로 문자열 쪼개기 

2) 문자열의 길이의 charAt() 을 stack 에 집어넣는다. 

3) stack 이 비어질 때 까지 다시 pop() 하여 요소를 꺼내고 출력한다. 

4) 마지막에 띄어쓰기 공백(' ') 을 함께 출력한다.

5) 다음 문자열 반복! 

 

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기