-
프로그래머스 : 공백으로 구분하기 2코딩테스트 문제 풀이/프로그래머스 2023. 12. 4. 00:01
이번 문제는 생각보다 어려웠다.
공백 문자가 연속으로 여러개 나오는 경우도 있었기 때문에 어렵게 느껴졌던 것 같다.
내 코드
얻어걸림..
import java.util.Arrays; import java.util.stream.*; class Solution { public String[] solution(String my_string) { return Arrays .stream(my_string.split(" ")) .filter(s -> !"".equals(s)) .collect(Collectors.toList()) .toArray(new String[0]); } }
우와
스트림으로 풀이한 다른사람의 풀이가 있는지 구경하러 들어갔다가 정규식을 이용해 깔끔하게 풀이한 사람의 코드를 발견하였다.
다른 사람 풀이 1번째
정규식 이용class Solution { public String[] solution(String my_string) { return my_string.trim().split("[ ]+"); } }
✏️
[ ]+
: 하나 이상의 연속된 공백 문자를 구분자로 사용하여 문자열을 분리하는 것을 의미
다른 사람 풀이 3번째
정규식 이용class Solution { public String[] solution(String myString) { return myString.trim().split("\\s+"); } }
✏️
\\s+
: 하나 이상의 연속된 공백 문자를 구분자로 사용하여 문자열을 분리하는 것을 의미\s
는 정규 표현식의 특수 문자로, 공백 문자를 의미한다.+
는 하나 이상의 연속된 문자를 나타내는 특수 문자이다.
아래는 학습해보고자 하는 스트림을 이용한 풀이!
다른 사람 풀이 4번째
✏️ Stream 이용class Solution { public String[] solution(String my_string) { return Arrays .stream(my_string.trim().split(" ")) .filter(x -> !x.equals("")) .toArray(String[]::new); } }
✏️
String[]::new
는 배열 생성자를 참조하는 메서드 참조로, 자동으로 적절한 크기의 배열을 생성할 수 있도록 한다.toArray(String[]::new)
의 기본 형태는toArray(size -> new String[size])
이다.
한번 풀 때 마다 🟠 하나씩 지우기
다시 풀어봐야됨
23년 6월 시도한 날짜 : 3, 4, 5, 6, 7, 9 실패한 날짜 : 4 성공한 날짜 : 3, 5, 6, 7, 9
'코딩테스트 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 : 홀수 vs 짝수 (0) 2023.12.04 배열의 원소만큼 추가하기 (0) 2023.12.01 꼬리 문자열 (0) 2023.12.01 뒤에서 5등까지 (0) 2023.12.01 프로그래머스: 마지막 두 원소 (0) 2023.11.27