
내가 생각했을때 문제에서 원하는부분
단어가 공백 한 개 이상으로 구분되어 있는 문자열 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;
}
}
위에 있는 코드를 변경한 코드
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.