본문 바로가기
PS/백준

백준 - 단어 뒤집기 ( 9093번 )

by 종안이 2023. 10. 28.

단어 뒤집기 성공다국어

한국어   
 
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB 35048 18473 13937 53.641%

문제

문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.

출력

각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.

예제 입력 1 복사

2
I am happy today
We want to win the first prize

예제 출력 1 복사

I ma yppah yadot
eW tnaw ot niw eht tsrif ezirp
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import java.util.Stack;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int number = Integer.parseInt(bf.readLine());

        for (int i = 0; i < number; i++) {
            String str = bf.readLine();
            Stack<Character> s = new Stack<Character>();

            for (int j = 0; j < str.length(); j++) {

                if (str.charAt(j) != ' ') {
                    s.push(str.charAt(j));
                } else {
                    while (!s.empty()) {
                        sb.append(s.pop());
                    }
                    sb.append(" ");
                }
            }
            while (!s.empty()) {
                sb.append(s.pop());
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }

}

댓글