알고리즘

[프로그래머스] 코딩테스트 연습 - 문자열 잘라서 정렬하기(JAVA)

inthyes 2023. 7. 31. 14:26

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

 

프로그래머스

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

programmers.co.kr

 

문제

문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.

단, 빈 문자열은 반환할 배열에 넣지 않습니다.


소스코드

import java.util.Arrays;

class Solution {
    public String[] solution(String myString) {
        String[] removedX = myString.split("x");
        String[] answer = Arrays.stream(removedX) 
                                .filter(str -> !str.isEmpty())
                                .sorted()
                                .toArray(String[]::new);
        return answer;
    }
}

 

소스코드 설명

1. split사용해서 x분리

2. stream으로 변경

3. filter()로 빈 문자열 삭제

4. sorted()로 정렬

 

import java.util.*;

class Solution {
    public String[] solution(String myString) {
        return Arrays.stream(myString.split("x")).filter(s -> !s.isEmpty()).sorted().toArray(String[]::new);
    }
}

다른 사람들의 풀이는 위와 같다.

변수 선언 없이 리턴에 주는 방법도 좋은 것 같다.