백준

백준 9093 단어 뒤집기(Java)

Park DJ 2023. 1. 15. 17:19

 

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

 

9093번: 단어 뒤집기

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

www.acmicpc.net

 


 

해석 및 팁

 


 

이 문제는 문장을 전부 뒤집는것이 아닌 단어별로 뒤집는것이 핵심입니다. 따라서 먼저 StringBuilder의 reverse함수를 통해 뒤집어 준 후 split을통해 공백을 기준으로 잘라서 배열에 저장합니다. 그 후 저장된 단어들을 뒤집어서 출력해주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    int n = Integer.parseInt(sc.nextLine());

    for(int i = 0; i < n; i++) {
      String arr = sc.nextLine();
      StringBuilder sb = new StringBuilder(arr);
      String str = sb.reverse().toString();                  //입력받은 문장 뒤집기
      String[] sen = str.split(" ");                         //공백을 기준으로 나누기
      
      for(int j = sen.length - 1; j >=0; j--) {
        System.out.print(sen[j]+" ");                     //나누어진 단어를 뒤집어서 출력
      }
    }

  }
}