최근 글 ✨

[백준] 9093 단어 뒤집기 Java

문제

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

 

입력

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

 

출력

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

 

그 전에 스택 관련 문제를 풀어서 그런가 문제를 보자마자 스택 사용해서 푸는건가 했는데 StringBuilder에 reverse() 함수가 있는걸 기억해내서 풀었음

스택 사용해서 풀면 코드가 더 길어질 것 같아서 쉽게쉽게 갔다

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        for(int i=0; i<n; i++){
            String s = br.readLine();
            StringBuilder sb = new StringBuilder();
            String[] word = s.split(" ");
            for(String w : word){   
                StringBuilder r = new StringBuilder(w);
                sb.append(r.reverse()).append(' ');
            }
            System.out.println(sb);
        }
    }
}

 

문제 출처

https://www.acmicpc.net/problem/9093