백준 [JAVA] :: 9093번 단어 뒤집기

s_omi·2023년 1월 13일
0

BAEKJOON (백준)

목록 보기
27/55

📚 문제 정의

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

📝 입력

첫째 줄에 테스트 케이스의 개수 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.*;
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() + " ");
            }
        }
    }
}

memo.

❗️StringBuilder 사용에 익숙해지기
❗️StringTokenizer 메소드 알고 있기

profile
공부한 거 올려요 :)

0개의 댓글