반응형
방법 1. Stringbuilder(string).reverse()
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public ArrayList<String> solution(int n, String[] str){
ArrayList<String> answer = new ArrayList<>();
for (String x : str) {
String tmp = new StringBuilder(x).reverse().toString();
answer.add(tmp);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
String[] str = new String[n];
for (int i = 0; i<n; i++){
str[i] = kb.next();
}
for (String x : T.solution(n, str)) {
System.out.println(x);
}
}
}
▶ reverse()
- String클래스에서는 reverse()를 제공하지 않아서 변환하여 reverse()를 사용해야 한다.
- StringBuilder, StringBuffer, Collection클래스에서 reverse() 메서드를 제공
- String 문자열을 반전시키기 위해서는 위의 클래스로 변환해서 사용해야 한다.
방법 2. char[] 변환
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public ArrayList<String> solution(int n, String[] str){
ArrayList<String> answer = new ArrayList<>();
for (String x : str) {
char[] s = x.toCharArray();
int lt = 0, rt = x.length()-1;
while (lt < rt){
char tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
}
String tmp = String.valueOf(s);
answer.add(tmp);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
String[] str = new String[n];
for (int i = 0; i<n; i++){
str[i] = kb.next();
}
for (String x : T.solution(n, str)) {
System.out.println(x);
}
}
}
▶ 참고
- 해당 방법은 제일 앞 문자와 제일 뒤 문자를 뒤바꾸는 로직을 직접 구현한 것이다.
반응형
'Java' 카테고리의 다른 글
[Spring] @Profile, @ActiveProfiles (0) | 2022.07.28 |
---|---|
[알고리즘/Java] String(문자열) - 특정 문자 뒤집 (0) | 2022.07.24 |
[Spring] RestTemplate 이란 무엇인가? (0) | 2022.07.24 |
[알고리즘/Java] String(문자열) - 문장 속 단어 (0) | 2022.07.18 |
[알고리즘/Java] String(문자열) - 대소문자 변환 (0) | 2022.07.16 |