1회 시도 코드 (틀림)
public int[] solution(String myString) {
String[] arr = myString.split("x");
int[] answer = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
answer[i] = arr[i].length();
}
return answer;
}
테스트에서 "oxooxoxxox" 에 대한 마지막 공백처리까지 해서 ["o", "oo", "o", "", "o", ""] 이 되어야 하는데 마지막 공백의 원소가 없어서 틀렸다
이부분은 split에 대한 내용을 더 자세히 보면 되는데 split에는 limit이라는 변수를 더 넣을 수 있게 overwriting 된 부분이 존재 한다
boolean limited = limit > 0;
...
// Add remaining segment
if (!limited || list.size() < limit)
list.add(substring(off, length()));
limit이라는 매개변수에서 0보다 작은 값을 받게 되면 limited 가 활성화 되어 remaing segment값이 입력되어 off 변수에 마지막 인덱스 값을 가지고 length() 까지 리턴한 값을 list에 입력해주고 있다.
그래서 위에서 입력한 답에서 딱 하나의 offset를 추가한다면 다음과 같다
String[] arr = myString.split("x", -1);