https://www.acmicpc.net/problem/9093
9093번: 단어 뒤집기
문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다. 출력 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어
www.acmicpc.net
풀이
Stringbuffer 또는 Stringbuilder에서 reverse() 함수는 현재 저장된 문자열에 대해 역순으로 만들어주는 함수이다.
전체 문장을 역순으로 출력하는 것이 아니므로 공백을 기준으로 split함수를 사용해 각 단어별로만 reverse를 적용하였다.
소스코드
더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(in.readLine());
String str = "";
for(int i=0; i<a; i++) {
str = in.readLine();
String[] arr = str.split(" ");
for(int j=0; j<arr.length; j++) {
StringBuffer buf = new StringBuffer(arr[j]);
System.out.print(buf.reverse() + " ");
}
System.out.println();
}
}
}
반응형