2134. Minimum Swaps to Group All 1's Together II
문제링크Input:nums = [0,1,0,1,1,0,0]nums = [0,1,1,1,0,0,1,1,0]nums = [1,1,0,0,1]Output:1 ([0, 1, 0, 1, 1, 0, 0] -> [0, 0, 1, 1, 1, 0, 0])2 ([0, 1, 1, 1, 0, 0, 1, 1, 0] -> [1, 1, 1, 0, 0, 0, 0, 1, 1])0서식:class Solution {public: int minSwaps(vector& nums) { }};요약:0과 1로만으로 이루어진 이진배열이 주어진다주어진 이진배열 안에 값이 1인 요소들을 최소한의 swap을 통해 일렬로 나열해야 한다이때 최소한의 swap 횟수를 구하라 주의!이 이진 배열은 원형으로 이루어져 있다좀 더 풀어서 이..
2024. 8. 2.
1105. Filling Bookcase Shelves
문제링크Input:books = [[1,1],[2,3],[2,3],[1,1],[1,1],[1,1],[1,2]]shelfWidth = 4books = [[1,3],[2,4],[3,2]]shelfWidth = 6Output:64요약:책들의 넓이와 높이를 담은 books[i] = [thicknessi, heighti] 라는 배열이 주어지고 선반의 넓이가 주어진다책을 선반위에 놓을때 주어진 책의 순서대로 놓아야하며 선반의 넓이를 넘어서게되면 새로운 선반에 책을 놓을 수 있다선반을 계속 두면서 책을 쌓아 올리는데 여기서 책을 쌓을 수 있는 최소한의 높이를 구하라조건:1 1 1 풀이 과정이해:이 문제는 결국 모든 가능성을 한번씩 다 봐야 한다책이 순서대로 선반 위에 올라간다는 조건을 만족해야 하기 때문에 그렇게 많..
2024. 7. 31.
2045. Second Minimum Time to Reach Destination
문제링크Input:n = 5edges = [[1,2],[1,3],[1,4],[3,4],[4,5]]time = 3change = 5Output:13요약:인접 노드로 건너갈 때 time의 시간이 걸리고 매 change마다 신호가 바뀌어 움직일 수 없다각 노드는 change로 변한 신호가 초록불일때만 움직일 수 있고 빨간불일때만 대기할 수 있다노드 1에서부터 n까지의 2번째 최소 거리 비용을 구하라조건:2 n n - 1 edges.length edges[i].length == 21 ui != vi중복되는 간선은 존재하지 않는다모든 노드는 직접 혹은 간접적으로라도 서로 도달할 수 있다1 time, change 형식:class Solution {public: int secondMinimum(int n, v..
2024. 7. 28.
2976. Minimum Cost to Convert String I
문제링크Input:source = "abcd"target = "acbe" original = ["a","b","c","c","e","d"]changed = ["b","c","b","e","b","e"]cost = [2,5,5,1,2,20]Output:28 요약:최소 비용으로 string을 변환하라soruce를 target으로 바꾸는데에 최소한의 비용을 구하라original[i] -> changed[i]의 비용은 cost[i]다 조건:● 1 ● source와 target은 연속된 소문자로 이루어져 있다● 1 ● original[i]와 changed는 연속된 소문자로 이루어져 있다● 1 ● original[i] != changed[i]풀이 과정설명:hash table을 이용하여 original[i] -> c..
2024. 7. 27.
2191. Sort the Jumbled Numbers
문제링크Input:mapping = [8,9,4,0,2,1,3,5,7,6], nums = [991,338,38]Output:[338,38,991] 요약:주어진 숫자의 각 자릿수가 mapping의 인덱스가 되어 인덱스가 가리키는 요소가 된다 즉, mapping[i] == j 라고 생각하면된다e.g. 991 == mapping[9] mapping[9] mapping [1] == 966 jumbled! 말그대로 뒤죽박죽된 숫자를 원래대로 였어야 할 숫자 기준으로 정렬하라 조건:mapping.length == 10 0 mapping의 모든 요소는 unique 하다1 0 풀이 과정설명:pair를 만들 생각이 먼저 들었는데 그냥 곧바로 정렬하면서 뒤죽박죽이 되기 전의 숫자를 구하기로 했다그 편이 새로 배열을 팔 필..
2024. 7. 25.