x 사이의 개수 Lv. 0

박영준·2023년 6월 2일
0

코딩테스트

목록 보기
210/300
class Solution {
    public int[] solution(String myString) {
        int[] answer = {};
        return answer;
    }
}


해결법

방법 1

import java.util.ArrayList;

class Solution {
    public int[] solution(String myString) {
    
        ArrayList<Integer> list = new ArrayList<>();
        
        String[] str = myString.split("x");
        
        for (int i = 0; i < str.length; i++) {		// 배열 str에 str[i]의 각 길이를 담는다
            list.add(str[i].length());
        }
        
        if (myString.endsWith("x")) {		
            list.add(0);		// 0번째 인덱스에 추가(제일 앞에 추가)
        }
        
        int[] answer = new int[list.size()];
        
        for (int i = 0; i < answer.length; i++) {
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}
  • myString.startsWith("x")

    • 대상 문자열이 특정 문자 또는 문자열로 시작하는지 체크 (true/false)
  • myString.endsWith("x")

    • 문자 "x" 를 기준으로 나누기 때문
    • "xx" 연달아 2개 붙은 경우, 앞의 x만 사라지고 뒤는 남아있음. 그래서 0으로 취급
  • arraylist의 get 메서드

    • 해당 인덱스의 값을 가져온다

x 사이의 개수 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글