문제
- 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.
입력
- 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.
출력
- 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.

그 전에 스택 관련 문제를 풀어서 그런가 문제를 보자마자 스택 사용해서 푸는건가 했는데 StringBuilder에 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 br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
for(int i=0; i<n; i++){
String s = br.readLine();
StringBuilder sb = new StringBuilder();
String[] word = s.split(" ");
for(String w : word){
StringBuilder r = new StringBuilder(w);
sb.append(r.reverse()).append(' ');
}
System.out.println(sb);
}
}
}
문제 출처
'Study > Test(Java)' 카테고리의 다른 글
| [프로그래머스] 코드 처리하기 Java (0) | 2023.05.18 |
|---|---|
| [백준] 9012 괄호 Java (0) | 2023.05.18 |
| [프로그래머스] 배열의 평균값 Java (0) | 2023.05.17 |
| [프로그래머스] 피자 나눠 먹기(3) Java (0) | 2023.05.17 |
| [프로그래머스] 피자 나눠 먹기(2) Java (0) | 2023.05.17 |