250x250
Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- string
- set
- scanner
- 리소스모니터링
- Java
- GC로그수집
- javascript
- CSS
- map
- union_find
- 힙덤프
- Calendar
- spring boot
- BFS
- 스프링부트
- alter
- 큐
- JPA
- priority_queue
- math
- sql
- Union-find
- date
- NIO
- 스택
- dfs
- deque
- html
- List
- Properties
Archives
- Today
- Total
매일 조금씩
프로그래머스 level1 : 명예의 전당(1) - Java 본문
728x90
반응형
1. ArrayList 사용 내림차순 정렬
기본이 오름차순 정렬이라서 내림차순 정렬하려면 Collections.reverseOrder() 써야함.
import java.util.*;
class Solution {
public int[] solution(int k, int[] score) {
int[] answer = new int[score.length];
List<Integer> sorting = new ArrayList<>();
for(int i = 0; i < score.length; i++){
sorting.add(score[i]);
Collections.sort(sorting, Collections.reverseOrder());
if(sorting.size() < k) answer[i] = sorting.get(sorting.size()-1);
else answer[i] = sorting.get(k-1);
}
return answer;
}
}
2. PriorityQueue 사용
기본이 오름차순 정렬이라서 젤 작은 값이 젤 앞에 오게됨
poll : 첫번째값 즉 제일 작은값 제거
peek : 첫번째값 가져오고 제거는 안함
import java.util.*;
class Solution {
public int[] solution(int k, int[] score) {
int[] answer = new int[score.length];
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int i = 0; i < score.length; i++){
pq.add(score[i]);
if(pq.size() > k) pq.poll();
answer[i] = pq.peek();
}
return answer;
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
프로그래머스 level2 : 요격 시스템 - Java (0) | 2023.06.06 |
---|---|
프로그래머스 level1 : 기사단원의 무기 - Java (0) | 2023.06.05 |
프로그래머스 level1 : 문자열 나누기 - Java (0) | 2023.06.05 |
프로그래머스 level1 : 가장 가까운 같은 글자 - Java (0) | 2023.06.02 |
프로그래머스 level1 : 둘만의 암호 - Java (0) | 2023.06.02 |