Day 18 문자열

Day18 18단계 20231107

1. x 사이의 개수

import java.util.*;
class Solution {
    public int[] solution(String myString) {
        String[] str = myString.split("x");
        int[] answer;
        if (myString.endsWith("x")) {
            answer = new int[str.length+1];
            answer[str.length] = 0;
        } else {
            answer = new int[str.length];
        }
        
        for(int i = 0; i < str.length; i++) {
            answer[i] = str[i].length();
        }
        return answer;
    }
}
return Arrays.stream(myString.split("x", myString.length())).mapToInt(s -> s.length()).toArray(); // 또는 limit을 -1로 설정

2. 문자열 잘라서 정렬하기

import java.util.*;
class Solution {
    public String[] solution(String myString) {       
        return Arrays.stream(myString.split("x")).filter(s -> !s.equalsnew;
    }
}

3. 간단한 식 계산하기

class Solution {
    public int solution(String binomial) {
        int answer = 0;
        String[] str = binomial.split(" ");
        switch (str[1]) {
            case "+":
                answer = Integer.parseInt(str[0]) + Integer.parseInt(str[2]);
                break;
            case "-":
                answer = Integer.parseInt(str[0]) - Integer.parseInt(str[2]);
                break;
            case "*":
                answer = Integer.parseInt(str[0]) * Integer.parseInt(str[2]);
                break;              
        }
        return answer;
    }
}

4. 문자열 바꿔서 찾기

class Solution {
    public int solution(String myString, String pat) {
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < myString.length(); i++) {
            if (myString.charAt(i) == 'A') {
                sb.append("B");
            } else {
                sb.append("A");
            }
        }  
        return (sb.toString().contains(pat)) ? 1 : 0;
    }
}