정렬 2

[리트코드][JAVA] 899. orderly-queue (정렬된 큐)

💡 문제orderly-queue (https://leetcode.com/problems/orderly-queue/description/)자세한 문제 설명과 입출력 예는 링크를 참고해주세요. 📝 선행 개념시간 복잡도:k == 1: O(n^2)k >= 2: O(n log n)공간 복잡도:k == 1: O(n)k >= 2: O(n)🤓 문제 풀이문제 번역문자열 s와 정수 k가 주어집니다. s의 처음 k개의 문자 중 하나를 선택하여 문자열 끝에 추가할 수 있습니다. 주어진 단계를 여러 번 적용한 후 얻을 수 있는 사전 순으로 가장 작은 문자열을 반환하세요. 예시 1:입력: s = "cba", k = 1출력: "acb"설명:첫 번째 , 첫 번째 문자 'c'를 끝으로 이동하여 문자열 "bac"를 얻습니다.두 번..

[리트코드][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]입니다.구슬을 배분..