문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.
2
I am happy today
We want to win the first prize
각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.
I ma yppah yadot
eW tnaw ot niw eht tsrif ezirp
import java.io.*;
import java.util.StringTokenizer;
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++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int tokenNum = st.countTokens();
// 밑에 st.nextToken()을 쓰면서 남은 토큰의 개수가 자꾸 바뀌기 때문에
// 첫 토큰의 개수를 남기려고 변수 설정
for(int j = 0; j < tokenNum; j++) {
// 토큰 하나씩 뒤집은 걸 출력
StringBuilder sb = new StringBuilder(st.nextToken());
System.out.print(sb.reverse() + " ");
}
}
}
}
❗️StringBuilder 사용에 익숙해지기
❗️StringTokenizer 메소드 알고 있기