코테 공부/java

IntStream, mapToObj 활용하여 접미사 배열 반환

sweet-po 2023. 5. 16. 23:48

예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"

인자 my_string의 모든 접미사를 사전순으로 정렬한 문자열 배열을 return

 

내 코드 for문 돌린 것

import java.util.*;
class Solution {
    public String[] solution(String my_string) {
        String[] answer = new String[my_string.length(
)];
        
        for (int i = 0; i < my_string.length(); i++) {
            answer[i] = my_string.substring(i, my_string.length());
        }
        
        Arrays.sort(answer);
        
        return answer;
    }
}

 

다른 사람 stream 사용 코드

IntStream 에서 mapToObj 가 이렇게 활용되는구나...

import java.util.*;
import java.util.stream.IntStream;

class Solution {
    public String[] solution(String myString) {
        return IntStream.range(0, myString.length()).mapToObj(myString::substring).sorted().toArray(String[]::new);
    }
}