해당 문제를 읽고, for 루프 안에서 "a", "b", "c"에 해당되지 않는 요소라면 빈 문자열에 추가해 두었다가, "a", "b", "c"가 등장한다면 List에 추가하는 방법을 활용하여 문제를 풀어내었다!
테스트에서는 성공하여 문제를 제출했지만 ,,
흠 😱
역시 원인 파악에는 테스트 케이스 작성하기!
for루프 이후, result.add(str);
코드로, 마지막에 남아있을 수 있는 str를 추가했을 때, 빈 문자열이어도 추가가 된 것이 원인인 것을 파악했다.
빈 문자열이 아닐 때만 List에 추가하도록 코드 수정 완료!
import java.util.*;
class Solution {
public String[] solution(String myStr) {
List<String> result = new ArrayList<>();
String[] myStrArr = myStr.split("");
String str = "";
for(int i = 0; i < myStrArr.length; i++) {
if(!myStrArr[i].equals("a") && !myStrArr[i].equals("b") && !myStrArr[i].equals("c")) {
str += myStrArr[i];
} else if(!str.equals("")) {
result.add(str);
str = "";
}
}
if(!str.equals("")) result.add(str);
if(result.size() == 0) result.add("EMPTY");
return result.stream().toArray(String[]::new);
}
}