N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.
첫 줄에 자연수 N(3<=N<=20)이 주어집니다.
두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.
N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.
3
good
Time
Big
doog
emiT
giB
package algorithm.string;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class StringEx_4 {
public ArrayList<String> solution(int N, String[] str) {
ArrayList<String> answer = new ArrayList<>();
// StringBuilder 활용하기
// for (String s : str) {
// // StringBuilder를 활용해 문자열을 뒤집는다
// String tmp = new StringBuilder(s).reverse().toString();
// answer.add(tmp);
// }
// 직접 바꾸기
for (String s : str) {
char[] ch = s.toCharArray();
// 배열 인덱스
int lt = 0, rt = s.length()-1;
while (lt < rt) {
char tmp = ch[lt];
ch[lt] = ch[rt];
ch[rt] = tmp;
lt++;
rt--;
}
String tmp = String.valueOf(ch);
answer.add(tmp);
}
return answer;
}
public static void main(String[] args) throws IOException {
StringEx_4 T = new StringEx_4();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 입력, 수/단어
int N = Integer.parseInt(br.readLine());
String[] str = new String[N];
for(int i=0; i<str.length; i++) {
str[i] = br.readLine();
}
for (String s : T.solution(N, str)) {
System.out.println(s);
}
}
}
StringBuilder의 사용 예시를 통해 익숙해질 수 있었고, toCharArray()를 통해 char 배열로 만들고, 하나씩 뒤집어가는 방법도 익혔다.