Java

자바 스트림 예제 3

grove1212 2025. 1. 23. 11:01
  • boxed() : IntStream을 IntegerStream으로 변환
  • sorted() : IntStream에서는 수행되지 않고, 객체 스트림인 IntegerStream에서만 가능하다.
  • toArray() : IntStream -> int[] 변환
import java.util.stream.*;

class Solution {
    public int solution(int[] rank, boolean[] attendance) {
        int answer = 0;
        int []arr = IntStream.range(0, rank.length)
            .filter(i -> attendance[i]) //visited가 true인 경우만 필터링
            .map(i -> rank[i]) // 해당 인덱스의 rank값 추출
            .boxed() // IntStream을 IntegerStream으로 변환
            .sorted((a, b) -> a - b) // 내림차순 정렬
            .limit(3)
            .mapToInt(Integer::intValue)
            .toArray(); // int[]로 변환

        for(int i = 0; i<3; i++){
            for(int j = 0; j<rank.length; j++){
                if(arr[i] == rank[j]){
                    arr[i] = j;
                    break;
                }
            }
        }

        answer = 10000*arr[0] + 100*arr[1] + arr[2];

        return answer;
    }
}

'Java' 카테고리의 다른 글

[Java] List를 배열로, 배열을 List로 변환하기  (0) 2025.01.23
Java에서 Array 객체 복사하는 방법  (1) 2025.01.23
자바 스트림 - 예제 2  (0) 2025.01.22
자바 스트림 - 예제 1  (0) 2025.01.22
자바 스트림  (0) 2025.01.22