
Solution 1) 내 풀이
import java.util.*;
class Solution {
public String[] solution(String myString) {
return Arrays.stream(myString.split("x"))
.filter(s -> !s.equals(" ") && !s.equals(""))
.sorted()
.toArray(String[]::new);
}
}
코드 및 문제 리뷰
문자열을 x를 구분자로 나눠 나온 단어들을 사전순 배열로 반환하는 문제이다.
단, 빈 문자열은 반환할 때 배열에 넣지 않는다.
빈 문자열 때문에 조금 애먹었다.
처음엔 filter(s -> !s.isEmpty();) 등으로 시도 했다 실패했다.
예외를 많이 만들어보고 조건에는 없지만 혹시 문자열 안에 space가 있을지 몰라
!s.equals(" ")를 만들어 넣었으나 실패했다.
그리고 다시 x가 두번 연속해서 들어오는 경우 정말 말그대로 '빈' 문자열 "" 이 올 수 있음을 알았다.
!s.equals("")를 추가해주고서야 겨우 성공해냈다.
예외를 생객해내기가 참 어려운 것 같다.
'연습문제 > 프로그래머스, 기초 트레이닝' 카테고리의 다른 글
| [프로그래머스 기초_java] 문자열 바꿔서 찾기 (0) | 2023.11.03 |
|---|---|
| [프로그래머스 기초_java] 간단한 식 계산하기 (1) | 2023.11.03 |
| [프로그래머스 기초_java] x사이의 개수 (1) | 2023.11.03 |
| [프로그래머스 기초_java] 공백으로 구분하기 2 (0) | 2023.11.02 |
| [프로그래머스 기초_java] ad 제거하기 (0) | 2023.11.02 |