```
백준 9093번 단어 뒤집기 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 9093번 풀이
https://www.acmicpc.net/problem/9093
9093번: 단어 뒤집기
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는
www.acmicpc.net
백준 9093번 단어 뒤집기는
난이도 브론즈 등급의 문제로서
테스트 케이스만큼
문장이 주어지고 각문장에 단어들을 각각 뒤집어서 출력해주면 되는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
IntStream을 사용해서
입력을 받은 테스트 케이스만큼 반복해서
문장을 입력받고
해당되는에 단어들을 뒤집어서 출력해보았습니다.
단어 뒤집는 부분을 배열 처리한 게 첫 번째 답이고
두 번째 답은 StringTokenizer를 사용해서 시간을 측정해보았습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.stream.IntStream;
public class Main {
// BufferedReader Object 생성
static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
int testCaseCnt = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
// 테스트 케이스만큼 반복
// 각 테스트 케이스마다 단어들을 배열처리
// 단어마다 뒤집어서 출력에 추가
IntStream.range(0, testCaseCnt).forEach((testCase)->{
try {
String[] words = br.readLine().split(" ");
IntStream.range(0, words.length).forEach((idx)->{
char[] word = words[idx].toCharArray();
final int wordLength = word.length;
IntStream.rangeClosed(1, wordLength).forEach(idx2->{
sb.append(word[wordLength-idx2]);
});
sb.append(" ");
});
sb.setLength(sb.length() - 1);
sb.append("\n");
} catch (IOException e) {
e.printStackTrace();
}
});
sb.setLength(sb.length() - 1);
// 출력
System.out.print(sb);
}
}
//codemasterkimc.tistory.com [김씨의 코딩 스토리]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.stream.IntStream;
public class Main {
// BufferedReader Object 생성
static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
int testCaseCnt = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
// 테스트 케이스만큼 반복
// 각 테스트 케이스마다 단어들을 배열처리
// 단어마다 뒤집어서 출력에 추가
IntStream.range(0, testCaseCnt).forEach((testCase)->{
try {
StringTokenizer st = new StringTokenizer(br.readLine());
int tokenLength = st.countTokens();
IntStream.range(0, tokenLength).forEach((idx)-> sb.append(new StringBuilder(st.nextToken()).reverse().append(" ")));
sb.setLength(sb.length() - 1);
sb.append("\n");
} catch (IOException e) {
e.printStackTrace();
}
});
sb.setLength(sb.length() - 1);
// 출력
System.out.print(sb);
}
}
//codemasterkimc.tistory.com [김씨의 코딩 스토리]

읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 10822번 더하기 JAVA 구현해보기 (0) | 2022.05.14 |
|---|---|
| 백준 10821번 정수의 개수 JAVA 구현해보기 (0) | 2022.05.14 |
| 백준 8595번 히든 넘버JAVA 구현해보기 (0) | 2022.05.14 |
| 백준 9536번 여우는 어떻게 울지? JAVA 구현해보기 (0) | 2022.05.14 |
| 백준 5363번 요다 JAVA 구현해보기 (0) | 2022.05.13 |