프로그래머스 공백으로 구분하기 2

KIMYEONGJUN·2026년 7월 10일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

내가 이 문제를 보고 생각해본 부분

Main77 클래스는 Java 실행 진입점인 main 메서드를 포함한다.
이곳에서 Solution11 클래스의 solution 메서드를 호출하여 테스트한다.
두 개의 문자열 예제 " i love you"와 " programmers "를 미리 입력해준다.
printArray 메서드는 결과로 나온 문자열 배열을 보기 좋게 출력하기 위한 유틸리티 역할을 한다.
배열을 [, ] 사이에 출력하며 각 요소는 쉼표와 공백으로 구분한다.
Solution11 클래스 내 solution 메서드는 주어진 문자열 my_string을
먼저 trim() 함수로 양끝 공백을 제거한다.
그 후, 정규 표현식 "\\s+"을 이용하여 한 개 이상의 연속된 공백을 기준으로 문자열을 분리한다.
이렇게 분리한 단어들을 배열로 반환한다.

코드로 구현

class Solution {
    public String[] solution(String my_string) {
        my_string = my_string.trim();
        String[] answer = my_string.split("\\s+");
        return answer;
    }
}

프로그래머스 코드

package programmers;

// 프로그래머스 공백으로 구분하기 2
public class Main77 {
    public static void main(String[] args) {
        // Solution 클래스의 solution 메서드 테스트
        Solution11 solution = new Solution11();

        String input1 = " i    love  you";
        String input2 = "    programmers  ";

        String[] result1 = solution.solution(input1);
        String[] result2 = solution.solution(input2);

        // 결과 출력
        printArray(result1); // [i, love, you]
        printArray(result2); // [programmers]
    }

    // 배열 출력용 보조 메서드
    public static void printArray(String[] arr) {
        System.out.print("[");
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i]);
            if(i != arr.length -1)
                System.out.print(", ");
        }
        System.out.println("]");
    }
}

class Solution11 {
    public String[] solution(String my_string) {
        my_string = my_string.trim();
        String[] answer = my_string.split("\\s+");
        return answer;
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글