Search
Duplicate
🙋🏻‍♀️

x 사이의 개수

대분류
코딩 기초트레이닝
비고
소분류
질문
문자열
확인
피드백완료🧑🏻‍🏫
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
복사