728x90
프로그래머스 _ 코딩 기초 트레이닝 DAY 17 - (5)
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181868
문제 | 단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
입력 #1 | " i love you"
출력 #1 | ["i", "love", "you"]
>> 풀이 <<
그냥 split으로 해도 될 거라고 생각했는데 안됐다.. 그래서 알아보다가 알게 된 사실들!
- 문자열 선행/후행 공백은 별도로 처리해야한다 - string.trim()
- string.trim()은 선행,후행 공백을 처리해주는 메소드이다.
- 공백이 여러개라면? - string.split("\\s+")
- 원래 split(" ")으로 처리했는데 공백자가 많아지면 이걸로 처리가 안된다! 그래서 정규표현식을 이용해 풀이해주었다.
- 뒤에 +를 붙여주면 한개 이상이라는 의미가 된다! 이 점을 이용해 코드를 작성했다.
\b | 단어의 경계 |
\B | 단어가 아닌 것의 경계 |
\z | 입력의 끝 |
\Z | 입력의 끝이지만 종결자가 있는 경우 |
\s | 공백문자 |
\S | 공백 제외 모든 문자 |
\d | [0-9]와 동일 |
\D | 숫자 제외 모든 문 |
위 표는 정규표현식의 예시표이다.
import java.util.Arrays;
class Solution {
public String[] solution(String my_string) {
return my_string.trim().split("\\s+");
}
}
'코딩테스트 > 프로그래머스 Lv.0' 카테고리의 다른 글
[프로그래머스] 문자열 바꿔서 찾기 (str.contains) - JAVA (0) | 2023.10.13 |
---|---|
[프로그래머스] 문자열 잘라서 정렬하기 - JAVA (0) | 2023.10.09 |
[프로그래머스] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (lastIndexOf) - JAVA (0) | 2023.09.14 |
[프로그래머스] A 강조하기 (string.replace) - JAVA (0) | 2023.09.13 |
[프로그래머스] 길이에 따른 연산 (IntStream, stream.reduce) - JAVA (0) | 2023.09.13 |