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