JAVA/오류고민

[백준] 9093번 단어 뒤집기

(งᐛ)ว 2023. 11. 15. 00:46
728x90

 

이전에 풀었던 문장 뒤집기 문제와 비슷하다. 

 

[백준] 11365번 !밀비 급일

hasNext()로 다음 순회할 데이터의 유무 확인하며 반복문을 출력한다. END 문자열이 나오면 멈춰야한다. 멈춘 후 StringBuilder클래스의 reverse()로 뒤집어 출력해보자. import java.util.Scanner; public class Main {

studywithjw.tistory.com

이 문제는 한 문장 자체를 한 덩어리로 보고 거울모드로 뒤집었다면 

 

이번엔 한 문장에서 띄어쓰기로 구분된 단어들을 각자의 덩어리로 보고 각각 거울모드로 뒤집어야 한다.

때문에 이전 문제를 for문 한번으로 해결했다면 이번엔 이중for문을 써보면 되겠다.

 

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

public class Main {
	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int t = Integer.parseInt(br.readLine());

		for (int i = 0; i < t; i++) {
			String[] str = br.readLine().split(" ");

			for (int j = 0; j < str.length; j++) {
				StringBuilder sb = new StringBuilder(str[j]);
				sb.reverse();
				bw.write(sb.toString() + " ");

			}
			bw.newLine();
		}

		bw.flush();
		br.close();
	}
}

 

입력받은 t번만큼 반복문을 돌며 공백으로 구분된 str문자열 배열을 읽는다.

여기서 공백으로 구분된 str문자열 배열 각각을 reverse()를 이용해 뒤집으면

각각 공백(띄어쓰기)으로 구분된 단어들이 각각 뒤집어진다.

 

 

 

728x90