본문 바로가기
코딩 테스트

[ 프로그래머스 ] 문자열 잘라서 정렬하기

by 주연배 2024. 3. 11.

문제

 

1)


이렇게 코드를 짜서 결과를 보니 실행은 됐지만 실행 결과에서 아예 에러가 발생했다.
알고보니 빈 문자열은 반환하지 않는다는 문제 조건을 보지 못한 탓이였다. 
즉 빈 문자열이 아닌 것만 반환한다는 뜻이다. 계속해서 코드를 짜 보았는데 어떤 식으로 짜야할 지 감이 안와서 뤼튼님의 코드를 참고해서 풀어보았다.

 

풀이

1) split메서드를 사용해서 x를 기준으로 배열로 만들어준다!
2) .filter()로 빈 문자열이 아닌 것만 가져와 준 후
3) toArrays()로 문자열 배열을 만들어준다!
4) 마지막으로 배열의 문자열을 순차적으로 정렬해준다. (sort)

 

결과

import java.util.Arrays;
class Solution {
    public String[] solution(String myString) {
        String[] answer = Arrays.stream(myString.split("x"))
            .filter(i -> !i.isEmpty())
            .toArray(String[]::new);
        Arrays.sort(answer);
        return answer;
    }
}

 

뤼튼을 통해서 매시간마다 새로운 걸 배워나가는 중이다...