프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] x 사이의 개수(Java)

Sigfriede 2023. 5. 15. 01:20

  문제 설명

  문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.

 

  제한사항

  • 1 <= myString의 길이 <= 100,000
    • myString은 알파벳 소문자로 이루어진 문자열입니다.

 

  입출력 예

myString result
"oxooxoxxox" [1, 2, 1, 0, 1, 0]
"xabcxdefxghi" [0, 3, 3, 3]
class Solution {
    public int[] solution(String myString) {
        String[] s = myString.split("x", -1);
        int[] answer = new int[s.length];
        for (int i = 0; i < s.length; i++) {
            answer[i] = s[i].length();
        }
        return answer;
    }
}

  String 배열을 생성합니다. split 메소드를 이용하여 myString을 문자열 x로 구분합니다. -1은 구분자를 기준으로 구분할 때, 빈 문자열까지 포함하여 반환한다는 뜻입니다.

  answer 배열을 생성합니다. 배열의 크기는 배열 s의 길이만큼으로 지정합니다. for문이 s의 길이만큼 순회합니다. answer의 i번째 원소 위치에 s의 i번째 원소의 길이만큼 할당합니다.