공백으로 구분하기 2
날짜 | 2023-10-22 |
사용 언어 | Java |
문제 유형 | 문자열, Regex |
정답률 | 89% |
문제 URL | https://school.programmers.co.kr/learn/courses/30/lessons/181868 |
문제 #
문제 설명 #
단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string
이 매개변수로 주어질 때, my_string
에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항 #
my_string
은 영소문자와 공백으로만 이루어져 있습니다.- 1 ≤
my_string
의 길이 ≤ 1,000 my_string
의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다.my_string
에는 단어가 하나 이상 존재합니다.
나의 풀이 #
class Solution {
public String[] solution(String my_string) {
// \s : 공백문자, + : 하나라도 있을경우
String[] answer = my_string.trim().split("\\s+");;
return answer;
}
}
다른 사람의 풀이 #
class Solution {
public String[] solution(String my_string) {
return my_string.trim().split("[ ]+");
}
}
class Solution {
public String[] solution(String my_string) {
String[] answer = null;
// 공백이 두 칸 이상 나오지 않도록 아래의 반복문을 수행한다.
// 각 공백이 한 칸만 나오면 반복문을 빠져나오고 그 공백 하나로 구분한다.
while (my_string.contains(" ")) {
my_string = my_string.replace(" ", " ");
}
// 공백으로 시작하면 그 공백은 제거해야 한다.
if (my_string.startsWith(" ")) {
my_string = my_string.substring(1, my_string.length());
}
answer = my_string.split(" ");
return answer;
}
}