728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181851
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 71 MB, 시간: 1.89 ms
사용 알고리즘: 정렬
import java.util.*; class Solution { public int solution(int[] rank, boolean[] attendance) { // 참석 가능한 학생들의 번호와 랭크를 담는 리스트 List<int[]> list = new ArrayList<>(); for(int i = 0; i < rank.length; i++) { if(attendance[i]) list.add(new int[] {i, rank[i]}); } // 랭크를 기준으로 올림차순 정렬 Collections.sort(list, (o1, o2) -> o1[1] - o2[1]); int answer = 10000 * list.get(0)[0] + 100 * list.get(1)[0] + list.get(2)[0]; return answer; } }
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 120866] 안전지대 (java) (0) | 2025.04.07 |
---|---|
[프로그래머스, 181849] 문자열 정수의 합 (java) (0) | 2025.04.03 |
[프로그래머스, 181852] 뒤에서 5등 위로 (java) (0) | 2025.04.03 |
[프로그래머스, 86971] 전력망을 둘로 나누기 (java) (0) | 2025.04.03 |
[프로그래머스, 77484] 로또의 최고 순위와 최저 순위 (java) (0) | 2025.04.01 |