inblog logo
|
muaga's Hub
    Programmers-Java

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

    [프로그래머스] Lv.0 공백으로 구분하기 2 (연속된 공백 하나로 치환)
    muaga's avatar
    muaga
    May 16, 2024
    [프로그래머스] Lv.0 공백으로 구분하기 2 (연속된 공백 하나로 치환)
    Contents
    답풀이
     
    notion image
    notion image
     

    답


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

    풀이


    ◽ 과정 1

    1. my_string의 문자열에 공백이 규칙적이지 않고 여러 개라서 배열로 변환하는 과정에서 replaceAll( )을 사용해야겠다고 생각했다. 공백 여러 개를 공백 1개로 치환하는 방법을 찾아보니 정규식 을 사용하면 된다고 한다.
      1. 자세한 내용은 아래에 정리해 놓았다.
        String word = my_string.replaceAll("\\s+", " "); ➡️ " i love you"
     
    1. 배열로 변환해보니 i 앞의 공백인 “ i” 때문에 배열의 크기가 4 가 되었다.
      1. 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
    Contents
    답풀이

    muaga's Hub

    RSS·Powered by Inblog