완전 Brute-force... 되는대로 풀기
class Solution {
public int[] solution(String myString) {
int[] answer;
if(myString.endsWith("x")) {
myString+="0";
String[] str = myString.split("x");
answer = new int[str.length];
for(int i=0; i<str.length; i++) {
answer[i] = str[i].length();
}
answer[answer.length-1] = 0;
}
else {
String[] str = myString.split("x");
answer = new int[str.length];
for(int i=0; i<str.length; i++) {
answer[i] = str[i].length();
}
}
return answer;
}
}
조금 더 머리 쓴 버전...
class Solution {
public int[] solution(String myString) {
myString = "0"+myString+"0";
String[] str = myString.split("x");
int[] answer = new int[str.length];
for(int i=0; i<answer.length; i++) {
answer[i] = str[i].length();
}
answer[0]--;
answer[answer.length-1]--;
return answer;
}
}
stream 사용한 타인의 코드.
import java.util.*;
class Solution {
public int[] solution(String myString) {
return Arrays.stream(myString.split("x", myString.length())).mapToInt(s -> s.length()).toArray();
}
}
split() 사용에서 두번째 파라미터로 int limit을 지정할 수 있다는 것을 깜박한... (limit 이하의 개수로 분리해줌)
사실 mapToInt도 잊어버리고 map으로 했다가 한 번 실패했었음 ㅋㅋㅋ
'Study with me > 프로그래머스 L0 마스터하기' 카테고리의 다른 글
프로그래머스 - L0 문자열정렬하기(1) // String → char → int (0) | 2024.01.02 |
---|---|
프로그래머스 - L0 최댓값만들기(2) (1) | 2024.01.01 |
프로그래머스 - L0 할일목록 (0) | 2023.12.28 |
프로그래머스 - L0 배열의원소삭제하기 (0) | 2023.12.27 |
프로그래머스 - L0 홀수vs짝수 // 삼항 연산자 (2) | 2023.12.26 |