성장일기

내가 보려고 정리하는 공부기록

카테고리 없음

[프로그래머스] x 사이의 개수 (마지막 공백 포함하기) - Java

와나나나 2023. 10. 6. 10:42
728x90

프로그래머스 _ 코딩 기초 트레이닝 DAY 18 - (1)

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181867

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 |  문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.

 

입력 #1 |  oxooxoxxox

출력 #1 | [1, 2, 1, 0, 1, 0]


>> 풀이 <<

주어진 string을 x로 split 해주면 되는데, 마지막에 x가 있을 경우에 문자열의 마지막 공백까지 꺼내와야 했다. 참고로 split은 배열로 리턴된다.

 

  • 마지막 공백 포함해서 나누기 - split(" ", -1)
    • string.split("기준문자열", 음수) 로 쓰면 마지막 공백까지 포함해서 출력된다. 
    • 음수를 쓰지 않고 split("기준문자열")로 작성하면 마지막 공백은 포함되지 않는다.
String str = "photo";
str.split("o", -1);   // ["ph","t",""]
str.split("o");   // ["ph","t"]

코드는 아래와 같다.

class Solution {
    public int[] solution(String myString) {
        String[] str = myString.split("x", -1); 
        int[] ans = new int[str.length];
        
        for (int i = 0 ; i < str.length ; i++) {
            ans[i] = str[i].length();
        }
        return ans;
    }
}