inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 세 개의 구분자

    silver's avatar
    silver
    Apr 24, 2025
    [알고리즘문제풀기] 세 개의 구분자
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181862

    내가 작성한 정답

    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

    silver

    RSS·Powered by Inblog