Java/Algorithm

[Java-Algorithm] 백준 9093 단어뒤집기

Jeong Jeon
반응형

문제 : https://www.acmicpc.net/problem/9093

 

9093번: 단어 뒤집기

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는

www.acmicpc.net

 

풀이 : 

StringTokenizer와 StringBuffer를 사용하여 간단하게 풀었다.

매 출력 후 sb 를 신규 instance를 생성해줘 값을 초기화 시켜서 사용했다.

뒤집는건 단어 역순으로 붙여 출력하는 방식을 사용했다.

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		StringBuffer sb = new StringBuffer();

		int n = Integer.parseInt(st.nextToken());
		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(br.readLine());
			while (st.hasMoreElements()) {
				String words = (String) st.nextElement();
				if(words.length()<=1) {
					sb.append(words+" ");
				}else {
					String[] word = words.split("");
					String result = "";
					for (int j = word.length-1; j>-1;  j--) {
						result+=word[j];
					}
					sb.append(result+" ");
				}
			}
			System.out.println(sb);
			sb = new StringBuffer();
		}
	}
반응형