문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/181851

제한 사항

입출력 예

풀이
import java.util.stream.IntStream;
class Solution {
public int solution(int[] rank, boolean[] attendance) {
int[] answer = IntStream.range(0, rank.length)
.filter(i -> attendance[i])
.boxed()
.sorted((i, j) -> rank[i] - rank[j])
.limit(3)
.mapToInt(i -> i)
.toArray();
return 10000 * answer[0] + 100 * answer[1] + answer[2];
}
}
후기
그냥 true인 것만 빼와서 정렬하면 된다. 마지막 부분을 reduce()로 처리했으면 깔끔했을텐데 최근에 스트림을 자주 안 써서 생각이 안 났다...ㅎㅎ
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 2] 뒤에 있는 큰 수 찾기 (0) | 2023.10.08 |
|---|---|
| [프로그래머스][JAVA][Lv. 2] 모음사전 (0) | 2023.10.07 |
| [프로그래머스][JAVA][Lv. 0] 특이한 정렬 (0) | 2023.10.05 |
| [프로그래머스][JAVA][Lv. 0] 문자열 밀기 (0) | 2023.10.04 |
| [프로그래머스][JAVA][Lv. 0] 배열 만들기 2 (0) | 2023.10.03 |