2024/05/26 6

[리트코드][JAVA] 2551. Put Marbles in Bags (구슬을 가방에 담다)

💡 문제Put Marbles in Bags (https://leetcode.com/problems/put-marbles-in-bags/description/)자세한 문제 설명과 입출력 예는 링크를 참고해주세요. 📝 선행 개념 🤓 문제 풀이문제 해석:1- 주어진 배열 weights에는 각 구슬의 무게가 저장되어 있습니다. 또한 정수 k가 주어집니다. 이 배열에서 k개의 가방에 구슬을 다음 규칙에 따라 나누려고 합니다:어떤 가방도 비어 있지 않아야 합니다.i번째 구슬과 j번째 구슬이 같은 가방에 있다면, i부터 j번째 인덱스에 있는 모든 구슬도 같은 가방에 있어야 합니다.한 가방에 속한 구슬의 인덱스 범위가 i부터 j이면, 해당 가방의 비용은 weights[i] + weights[j]입니다.구슬을 배분..

[프로그래머스][JAVA] 이중 우선순위 큐

💡 문제이중우선순위큐 (https://school.programmers.co.kr/learn/courses/30/lessons/42628)자세한 문제 설명과 입출력 예는 링크를 참고해주세요. 📝 선행 개념이중 우선순위 큐는 최댓값과 최솟값을 모두 효율적으로 처리할 수 있는 자료구조 Collections.reverseOrder()Collections.reverseOrder()는 Java의 Collections 클래스에서 제공하는 정적 메서드로, 기본 정렬 순서를 반대로 하는 데 사용됩니다. 이 메서드는 Comparator 객체를 반환하며, 이 객체를 사용하여 컬렉션을 내림차순으로 정렬할 수 있습니다. 이는 기본 데이터 타입뿐만 아니라 커스텀 객체에도 적용할 수 있으며, Comparable 인터페이스를 ..

[99클럽 코테 스터디] 📝 Day7. 간단한 JAVA 솔루션이 100% 승리합니다!

99클럽 코테 스터디 7일차 TIL + 정렬 📍오늘의 학습 키워드이중 우선순위 큐정렬 알고리즘우선순위 큐 사용법배열의 부분 합 계산📝 공부한 내용 본인의 언어로 정리하기오늘은 이중 우선순위 큐와 정렬 알고리즘을 활용한 문제 풀이에 대해 공부했다. 주어진 배열에서 인접한 두 요소의 합을 계산하고, 이를 통해 최대 점수와 최소 점수를 계산하는 방법을 배웠다. 또한, 우선순위 큐를 사용하여 효율적으로 데이터를 관리하는 방법도 익혔다.📖  오늘의 회고📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지문제: 주어진 배열을 k개의 가방으로 나누어 최댓값과 최솟값의 점수 차이를 구하는 문제에서, 중간에 올바른 값이 나오지 않는 문제를 발견했다. 시도: 초기에는 우선순위 큐를 사용하여 최솟값과 최댓값을 관리했으나..

Algorithm/Study 2024.05.26

[99클럽 코테 스터디] 📝 Day6. 꾸준함2

99클럽 코테 스터디 6일차 TIL + 힙(Heap) 📍오늘의 학습 키워드힙(Heap) 자료구조이중 우선순위 큐 구현PriorityQueue 사용법Comparator 인터페이스📝 공부한 내용 본인의 언어로 정리하기오늘은 주어진 명령어를 효율적으로 처리할 수 있는 자료구조로 힙(Heap)을 사용하는 방법에 대해 배웠다. 이중 우선순위 큐 문제를 해결하기 위해 최댓값과 최솟값을 빠르게 찾고 삭제할 수 있는 힙 자료구조를 선택했다. 또한, Java에서 PriorityQueue와 Comparator를 활용해 우선순위 큐를 구현하는 방법도 공부했다.📖  오늘의 회고📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지이중 우선순위 큐 문제를 해결하면서 최댓값과 최솟값을 효율적으로 처리하는 방법에 대한 고민이 있..

Algorithm/Study 2024.05.26

[99클럽 코테 스터디] 📝 Day5. 꾸준하게

99클럽 코테 스터디 5일차 TIL + 힙(Heap) 📍오늘의 학습 키워드Heap 📝 공부한 내용 본인의 언어로 정리하기 📖  오늘의 회고오늘은 디스크 컨트롤러 문제를 해결하는 과정에서 자료구조인 힙(Heap)을 활용하는 방법에 대해 공부했습니다. 문제를 해결하기 위해 우선순위 큐를 사용하여 작업의 소요 시간을 기준으로 작업을 처리하려 했습니다. 또한, Arrays.sort와 Comparator를 이용한 정렬 방법에 대해서도 고민해 보았습니다.📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지🤔 어떻게 해결했는지🔖 문제 해결 링크 (https://develop-tracking.tistory.com/53)작업을 요청 시간 순서로 정렬하기 위해 Arrays.sort(jobs, (a, b) -> a[..

Algorithm/Study 2024.05.26

[프로그래머스][JAVA] 디스크 컨트롤러

💡 문제챌린저: 디스크 컨트롤러 (https://school.programmers.co.kr/learn/courses/30/lessons/42627)자세한 문제 설명과 입출력 예는 링크를 참고해주세요. 📝 선행 개념힙(Heap) 이란힙(Heap)은 완전 이진 트리의 일종으로, 특정한 조건을 만족하는 자료구조입니다. 힙은 다음 두 가지 유형이 있습니다최대 힙(Max Heap): 부모 노드의 값이 항상 자식 노드의 값보다 크거나 같은 힙. 따라서 루트 노드의 값이 가장 큽니다.최소 힙(Min Heap): 부모 노드의 값이 항상 자식 노드의 값보다 작거나 같은 힙. 따라서 루트 노드의 값이 가장 작습니다.힙의 특성 덕분에 힙은 우선순위 큐(Priority Queue)를 구현하는 데 사용됩니다. 우선순위 큐..