문제
내가 작성한 정답
replaceAll
import java.util.*;
class Solution {
public String[] solution(String myStr) {
String str = myStr.replaceAll("a"," ").replaceAll("b"," ").replaceAll("c"," ");
String[] s1 = str.split(" ");
ArrayList<String> s2 = new ArrayList<>();
for(String s: s1) {
if (!s.isBlank()) s2.add(s);
}
return str.isBlank()?new String[]{"EMPTY"}:s2.toArray(String[]::new);
}
}
정규식
import java.util.*;
class Solution {
public String[] solution(String myStr) {
ArrayList<String> answer = new ArrayList<>();
for(String s: myStr.split("[abc]+")){
if(!s.isBlank()) answer.add(s);
}
return answer.isEmpty()?new String[]{"EMPTY"}:answer.toArray(String[]::new);
}
}
다른 사람들의 정답
stream
import java.util.Arrays;
class Solution {
public String[] solution(String myStr) {
String[] arr = Arrays.stream(myStr.split("[abc]+")).filter(str -> !str.isEmpty()).toArray(String[]::new);
return arr.length == 0 ? new String[] { "EMPTY" } : arr;
}
}
삼항연산자
import java.util.Arrays;
class Solution {
public String[] solution(String myStr) {
myStr = myStr.replaceAll("[a|b|c]+", ",");
myStr = myStr.charAt(0) == ',' ? myStr.substring(1) : myStr;
myStr = myStr.equals("") ? "EMPTY" : myStr;
return myStr.split("[,]");
}
}
Share article