[ 기타 ]/코딩테스트

[JAVA/String] 알고리즘 문제풀이 시 유용한 String 문자열 다루기

HSRyuuu 2023. 6. 9. 21:14

comment

알고리즘 문제 풀이시 사용하는 여러가지 메서드나 방법들을 계소해서 추가할 예정 입니다.

String을 char형 배열로 변경 - toCharArray()

  • String을 한글자씩 때어내서 Character 형 배열로 바꿔주는 메서드이다.
  • 빈칸도 포함하여 배열에 추가하는것을 볼 수 있다.
String str = "hello world!!! "; //str.length() == 15
char[] chars = str.toCharArray();
System.out.println("length = "+chars.length+" "+Arrays.toString(chars));
//출력 : length = 15 [h, e, l, l, o,  , w, o, r, l, d, !, !, !,  ]

String을 기준값을 가지고 분리 - split()

이번엔 한글자씩 String 형으로 분리되었다.

split()의 매개변수로 준 구분자 문자열을 기준으로 분리한다.

String str = "hello world!!! "; //str.length() == 15
List<String> list= new ArrayList<>();
for(String s : str.split("")){
 list.add(s);
}
System.out.println(list);
//출력 : [h, e, l, l, o,  , w, o, r, l, d, !, !, !,  ]

아래와 같이 구분자를 ","로 지정하면, 쉼표를 기준으로 문자열을 나누게 된다.

String str = "apple,banana,tomato";
List<String> list= new ArrayList<>();
for(String s : str.split(",")){
    list.add(s);
}
System.out.println(list);
//출력 : [apple, banana, tomato]

문자열 뒤집기 - StringBuilder.reverse()

StringBuilder클래스의 메서드를 활용해서 문자열을 간편하게 뒤집을 수 있다.

String str = "Hello World !!";
StringBuilder sb = new StringBuilder();
sb.append(str);
sb.reverse();
String reverseStr = sb.toString();
System.out.println(reverseStr);
//출력 : !! dlroW olleH

위의 코드를 한줄로 나타낼수도 있다.

String str = "Hello World !!";

String reverseStr = new StringBuilder(str).reverse().toString();

System.out.println(reverseStr);
//출력 : !! dlroW olleH

 

반응형