[프로그래머스] Lv.0 세 개의 구분자.java

hgghfgf·2023년 6월 10일
0

프로그래머스

목록 보기
137/227

세 개의 구분자.java

import java.util.ArrayList;
import java.util.List;

class Solution {
    public String[] solution(String myStr) {
        List<String> result = new ArrayList<>();

        StringBuilder current = new StringBuilder();
        for (char c : myStr.toCharArray()) {
            if (c == 'a' || c == 'b' || c == 'c') {
                if (current.length() > 0) {
                    result.add(current.toString());
                    current = new StringBuilder();
                }
            } else {
                current.append(c);
            }
        }

        if (current.length() > 0) {
            result.add(current.toString());
        }

        if (result.isEmpty()) {
            return new String[]{"EMPTY"};
        } else {
            return result.toArray(new String[0]);
        }
    }
}

'a', 'b', 'c'와 일치하는 문자를 구분자로 사용하여 문자열을 나누고
현재까지 쌓인 문자열을 current에 저장하고, 구분자를 만나면 current를 결과에 추가하고 초기화합니다.
마지막으로 남은 current를 결과에 추가하고, 결과가 비어있을 경우 "EMPTY"를 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글