본문 바로가기

가자가자~252

[Lv.2] 프린터 첫 설계 방법이다. 이대로 설계하니, 다행스럽게도 통과는 하였다. 다른 분들의 풀이를 보고 나니 더 쉽게 할 수 있었다. 우선 내가 풀이한 코드이다. package Lv_2; import java.util.*; public class lv2test { public static int solution(int[] priorities, int location) { List result = new ArrayList(); List result_idx = new ArrayList(); LinkedList pq = new LinkedList(); LinkedList idx = new LinkedList(); for (int i = 0; i < priorities.length; i++) { pq.add(prioriti.. 2023. 2. 19.
우선순위 큐와 힙 관련된 문제(https://sungsikyang92.tistory.com/242) 우선순위 큐와 힙 우선순위 큐는 Queue 자료구조와 같다고 생각 할 수 있지만, 다르다. 우선순위 큐는 FIFO가 아니라, 우선순위가 가장 높은 자료가 먼저 꺼내진다. 이에 heap이라는 트리로 우선순위 큐를 구현한다. heap은 가장 큰 원소를 찾는 데 최적화된 형태의 이진트리로, 힙을 사용하면 새 원소를 추가하는 연산과 가장 큰 원소를 꺼내는 연산을 모두 O(lgN) 시간에 수행할 수 있다. 힙 힙은 특정한 규칙을 만족하도록 구성된 이진 트리이다. 가장 중요한 규칙은 부모 노드가 가진 원소는 항상 자식 노드가 가진 원소 이상이라는 것이다. 이것을 힙의 대소 관계 규칙이라고 한다. 힙에서 대소 관계 규칙은 이진 검색 트.. 2023. 2. 19.
[Lv.2]귤 고르기 package Lv_2; import java.util.*; public class 귤고르기 { public static int solution(int k, int[] tangerine) { int answer = 0; Arrays.sort(tangerine); HashMap tan_cnt = new HashMap(); for (int i = 0; i tan_cnt.get(o2) - tan_cnt.. 2023. 2. 18.
[Lv.2]기능개발 큰 설계의 틀은 이렇게 잡고 문제를 풀기 시작했다. 결과는 문제없이 통과되었지만, 굳이 queue를 두개나 생성 할 필요가 없었다. 아래의 코드는 위의 설계대로 푼 코드이고, 그 아래는 다른 분들의 코드를 참고하여 다시 풀어본 코드이다. package Lv_2; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.List; public class 기능개발 { public static int[] solution(int[] progresses, int[] speeds) { List tmp = new ArrayList(); LinkedList queue_prog = new LinkedL.. 2023. 2. 17.