[프로그래머스] Lv.0 공백으로 구분하기 2 (연속된 공백 하나로 치환)
[프로그래머스] Lv.0 공백으로 구분하기 2 (연속된 공백 하나로 치환)
May 16, 2024


답
class Solution {
public String[] solution(String my_string) {
String[] answer = my_string.replaceAll("\\s+", " ").trim().split(" ");
return answer;
}
}풀이
◽ 과정 1
- my_string의 문자열에 공백이 규칙적이지 않고 여러 개라서 배열로 변환하는 과정에서
replaceAll( )을 사용해야겠다고 생각했다. 공백 여러 개를 공백 1개로 치환하는 방법을 찾아보니정규식을 사용하면 된다고 한다.
자세한 내용은 아래에 정리해 놓았다.
String word = my_string.replaceAll("\\s+", " ");
➡️ " i love you"- 배열로 변환해보니
i앞의 공백인“ i”때문에 배열의 크기가4가 되었다.
String[] wordArr = word.split(" ");
➡️ [, i, love, you]◽ 과정 2
과정 1의 과정을 통해 맨 앞의 공백을
split(" ") 하기 전, 제거해야 했다.trim( ) 을 추가하여 문자열 앞 뒤의 공백을 제거하니 원하는 결과가 나왔다. String word = my_string.replaceAll("\\s+", " ").trim();
➡️ "i love you"
String[] wordArr = word.split(" ");
➡️ [i, love, you]❔ trim( )
문자열의
시작과 끝의 공백을 제거하는 메소드이다. 문자열의 끝부터 마지막 공백이 나올 때까지의 모든 공백을 제거한다.Share article