프로그래머스 181867 x 사이의 개수 JAVA

sundays·2023년 5월 24일
0

문제

x 사이의 개수

풀이

1회 시도 코드 (틀림)

		public int[] solution(String myString) {
        String[] arr = myString.split("x");
        int[] answer = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            answer[i] = arr[i].length();
        }
        return answer;
    }

테스트에서 "oxooxoxxox" 에 대한 마지막 공백처리까지 해서 ["o", "oo", "o", "", "o", ""] 이 되어야 하는데 마지막 공백의 원소가 없어서 틀렸다

이부분은 split에 대한 내용을 더 자세히 보면 되는데 split에는 limit이라는 변수를 더 넣을 수 있게 overwriting 된 부분이 존재 한다

			boolean limited = limit > 0;
			...

			// Add remaining segment
            if (!limited || list.size() < limit)
                list.add(substring(off, length()));

limit이라는 매개변수에서 0보다 작은 값을 받게 되면 limited 가 활성화 되어 remaing segment값이 입력되어 off 변수에 마지막 인덱스 값을 가지고 length() 까지 리턴한 값을 list에 입력해주고 있다.

그래서 위에서 입력한 답에서 딱 하나의 offset를 추가한다면 다음과 같다

String[] arr = myString.split("x", -1);

전체 코드

전체 코드

profile
develop life

0개의 댓글

관련 채용 정보