반응형
https://www.acmicpc.net/problem/9093
- 문제
- 문제 풀이
백준 9093번 단어 뒤집기는 브론즈 1 난이도의 구현 및 문자열 문제이다. 이 문제에서는 n개의 문장이 주어진다. 이때, 장의 단어를 모두 뒤집어 출력하면 된다.
이 문제는 StringBuilder 클래스에 있는 reverse() 함수를 쓰면 수월하게 풀 수 있다. reverse() 함수는 StringBuilder에 있는 것들을 뒤집어서 반환하는 함수다. 즉, 문제에서 주어지는 문장을 먼저 입력받는다. 그리고 StringTokenizer를 이용하면 각 문장에 있는 단어들을 나눌 수 있다. 따라서, 문제 예시처럼 I am happy today 같은 문장이 주어지면 "I", "am", "happy"와 "today"로 나눠진다는 것이다.
이 단어들을 StringBuilder 형태로 변환시키고 reverse 함수를 적용하면 다음과 같이 나눠진다: "I", "ma", "yppah"와 "yadot". 따라서 이 단어들을 공백으로 나눈 뒤 출력만 해주면 된다.
자세한 코드는 아래에 있는 코드를 참고하면 되겠다.
- 코드
import java.io.*;
import java.util.*;
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()); //n 입력받기
StringBuilder answer = new StringBuilder(); //최종 출력할 StringBuilder
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
while (st.hasMoreTokens()) {
StringBuilder sb = new StringBuilder(st.nextToken());
answer.append(sb.reverse() + " "); //각 단어를 뒤집고 answer에 붙이기
}
answer.append("\n");
}
System.out.print(answer);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 2810번 : 컵홀더 – JAVA [자바] (0) | 2022.11.18 |
---|---|
[백준] 2720번 : 세탁소 사장 동혁 – JAVA [자바] (0) | 2022.11.17 |
[백준] 1977번 : 완전제곱수 – JAVA [자바] (0) | 2022.09.12 |
[백준] 1292번 : 쉽게 푸는 문제 – JAVA [자바] (2) | 2022.09.12 |
[백준] 2420번 : 사파리월드 – JAVA [자바] (0) | 2022.09.07 |
댓글