min's devlog
[string] 단어 뒤집기(StringBuilder이용법 또는 직접뒤집기) 본문
import java.util.*;
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);
}
}
}
import java.util.*;
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);
}
}
}
리턴받는 것 : string을 원소로 갖는 ArrayList에
뒤집은 단어들을 넣어서 Arraylist리턴 (ArrayList<string>)
String 받는 것 : main
뒤집기 : solution 함수
stringbuilder : 문자열다루는 함수, 생성자이다
reverse : x를뒤집음 (tostring화 시켜야 string객체로 들어감)
왜 string이 있음에도 stringbuilder를 쓸까?
string 연산 작업이 많을 경우에는
String보다 StringBuffer나 StringBuilder를 사용이 좋다.
새로운 객체를 만들지 않고도 문자열을 수정할 수 있다.
'til > Algorithm' 카테고리의 다른 글
[string] 회문 문자열 (0) | 2021.07.13 |
---|---|
[string] 중복문자제거 (0) | 2021.07.13 |
[string] 특정 문자 뒤집기(toCharArray()) (0) | 2021.07.08 |
[string] 문장 속 단어(indexOf(), substring()) (0) | 2021.07.06 |
[string] 대소문자 변환 (0) | 2021.07.05 |
Comments