x 사이의 개수
문제
문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
풀이
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class Solution {
public int[] solution(String myString) {
String[] strArr = myString.split("x");
List<Integer> integerArr = new ArrayList<>();
for (int i = 0; i < strArr.length; i++) {
integerArr.add(strArr[i].length());
}
if (myString.charAt(myString.length()-1) == 'x') {
integerArr.add(0);
}
int[] answer = integerArr.stream().mapToInt(i -> i).toArray();
return answer;
}
}
Java
복사
피드백
public int[] solution(String myString) {
List<Integer> list = Arrays.stream(myString.split("x")).map(v -> v.length()).collect(Collectors.toList());
if (myString.charAt(myString.length() - 1) == 'x') {
list.add(0);
}
return list.stream().mapToInt(v -> v).toArray();
}
Java
복사
질문
myString | result |
"oxooxoxxox" | [1, 2, 1, 0, 1, 0] |
"xabcxdefxghi" | [0, 3, 3, 3] |
첫번째 입력에서 “x” 를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 이렇게 되어있는데… 돌려보면 아래와 같이 결과가 나와여…
두번째 입력은 잘 나오는거 확인 했슴당!
코드는 아래와 같이 했슴당
package programmers.codingBasicTraining;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PROB69 {
public static void main(String[] args) {
String myString = "oxooxoxxox";
System.out.println(Arrays.toString(solution(myString)));
}
public static int[] solution (String myString) {
String[] strArr = myString.split("x");
System.out.println(Arrays.toString(strArr));
List<Integer> integerArr = new ArrayList<>();
for (int i = 0; i < strArr.length; i++) {
integerArr.add(strArr[i].length());
}
if (myString.charAt(myString.length()-1) == 'x') {
integerArr.add(0);
}
int[] answer = integerArr.stream().mapToInt(i -> i).toArray();
return answer;
}
}
Java
복사