본문 바로가기

Java/프로그래머스

[JAVA] 프로그래머스 - 공백으로 구분하기 2

https://school.programmers.co.kr/learn/courses/30/lessons/181868

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

문자열 공백 제거 

https://codechacha.com/ko/java-remove-whitespace/#:~:text=Java%20-%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EA%B3%B5%EB%B0%B1%EC%A0%9C%EA%B1%B0%20%28trim%2C%20replace%29%201%201.,%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%20...%203%203.%20%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D%20%28Regex%29%20

 

Java - 문자열 공백제거 (trim, replace)

문자열의 공백을 제거하는 방법을 소개합니다. String.trim()은 문자열 앞 뒤의 공백을 제거합니다. 문자열 중간에 있는 공백은 제거하지 못합니다. replace()를 이용하면 문자열 가운데 있는 공백을

codechacha.com

 

1) trim()

 

- String.trim()은 문자열 앞 뒤의 공백을 제거한다. 

- 문자열 중간에 있는 공백은 제거하지 못한다. 

 

String str1 = " By default ";
String str2 = " By default";
String str3 = "By default ";

String result1 = str1.trim();
String result2 = str2.trim();
String result3 = str3.trim();

System.out.println("[" + result1 + "]");
System.out.println("[" + result2 + "]");
System.out.println("[" + result3 + "]");


/*
[By default]
[By default]
[By default]
*/

 

 

 

2) replace()

 

- replace()를 이용하면 문자열 가운데 있는 공백을 제거할 수 있다. 

 

String.replace(char,char)

- 첫 번째 인자의 문자를 찾고, 두번째 문자로 변환해 준다. 

 

String.replaceAll(String,String)

- 첫 번재 문자열을 찾고, 두 번째 문자열로 변환해 준다. 

 

String.replaceFirst(String,String)

- 첫 번째 인자의 문자를 찾고, 두 번째 문자로 변환해준다. 

- 단, 한번만 변환해준다. 

 

String str1 = " By default ";

String result1 = str1.replaceAll(" ", "");
String result2 = str1.replace(" ", "");
String result3 = str1.replaceFirst(" ", "");

System.out.println("[" + result1 + "]");
System.out.println("[" + result2 + "]");
System.out.println("[" + result3 + "]");


/*
[Bydefault]
[Bydefault]
[By default ]
*/

 

 

정답 

 

import java.util.StringTokenizer;

class Solution {
    public String[] solution(String my_string) {
        my_string = my_string.trim(); //앞 뒤 공백 제거 
        
        StringTokenizer token = new StringTokenizer(my_string," ");
        
        String answer[] = new String[token.countTokens()];
        
        for(int i=0; i<answer.length; i++) {
            answer[i] = token.nextToken();
        }
        
        return answer;
    }
}