728x90

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

 

프로그래머스

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

programmers.co.kr

문제)단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

 

 

 

 

풀이)

class Solution {
    public String[] solution(String my_string) {
        String[] answer = {};
        
        //문자열의 앞,뒤 전부 공백 제거
        my_string = my_string.trim();
        //정규표현식에서 \\s는 공백을 의미한다 \\s+로 한개 이상의 공백일 경우 " "로 변환시켜줬다.
        my_string = my_string.replaceAll("\\s+", " ");
        
        answer = my_string.split(" ");
        
        return answer;
    }
}

\\s뿐만 아니라, 유용한 정규표현식 사용 예제를 몇개 더 설명하려고 한다!

 

1. 숫자 검출 패턴 (\\d): 숫자를 찾을 때 사용합니다.

String pattern = "\\d+"; // 여러 자리 숫자 검출

2. 영문자 검출 패턴 ([a-zA-Z]): 대소문자 영문자를 찾을 때 사용합니다.

String pattern = "[a-zA-Z]+"; // 영문자로 이루어진 문자열 검출

3. 공백 검출 패턴 (\\s): 공백 문자를 찾을 때 사용합니다.

String pattern = "\\s+"; // 여러 개의 연속된 공백 검출

4. 알파벳 또는 숫자 검출 패턴 (\\w): 영문자나 숫자를 찾을 때 사용합니다.

String pattern = "\\w+"; // 영문자 또는 숫자로 이루어진 문자열 검출

5. 특수문자 검출 패턴 ([^\\w\\s]): 영문자, 숫자, 공백이 아닌 특수문자를  찾을 때 사용합니다.

String pattern = "[^\\w\\s]+"; // 특수문자 검출

이렇게 다섯가지만 알아도 다른 문제 풀때도 유용하다.

728x90