https://school.programmers.co.kr/learn/courses/30/lessons/181868
단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
- split() 메서드 사용
-> 공백을 기준으로 분리하고 배열로 저장한 후 for문을 돌면서 공백이 아닌 경우에만 걸러내서 ArrayList에 추가하는 방법
- StringTokenizer 사용
-> 여러 개의 연속된 공백이나 다른 구분자가 있더라도 하나의 구분자로 취급하여 토큰을 분리
1. split()를 사용한 코드
import java.util.*;
class Solution {
public String[] solution(String my_string) {
String[] my_string_arr = my_string.split(" ");
ArrayList<String> arrlist = new ArrayList<>();
for(String s : my_string_arr) {
if(!s.isBlank()) arrlist.add(s);
}
String[] answer = new String[arrlist.size()];
for(int i = 0; i < arrlist.size(); i++) answer[i] = arrlist.get(i);
return answer;
}
}
2. StringTokenizer 사용한 코드
import java.util.*;
class Solution {
public String[] solution(String my_string) {
StringTokenizer st = new StringTokenizer(my_string);
int N = st.countTokens();
String[] answer = new String[N];
for(int i = 0; i < N; i++) answer[i] = st.nextToken();
return answer;
}
}