리트코드 - 134. Gas Station
리트코드 - 134. Gas Station CS/코딩테스트 2023. 12. 17. 19:17

리트코드 - 134. Gas Station 출처 - https://leetcode.com/problems/gas-station/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 원형 루트에 따라 n개의 주유소가 있는데, i번째 주유소의 가스량은 gas[i]입니다. 제한 없는 가스 탱크가 달린 자동차가 있어서 i번째 주유소에서 다음(i+1)번째 주유소까지 가는 데에는 cost[i]의 가스 비용이 듭니다. 이 여행을 한 주유소에서 빈 탱크로 시작합니다. 두 정수 배열 gas와 cost가 주어지고 한 번의 시계 방향 주행으로 주위를 돌아 다닐 수 있는 주유소 인덱스를 반환하고, 그렇지 않으면 -1을 반환합니다. 해결책이 있다면 고유할 것입니다...

리트코드 - 238. Product of Array Except Self
리트코드 - 238. Product of Array Except Self CS/코딩테스트 2023. 12. 16. 14:47

리트코드 - 238. Product of Array Except Self 출처 - https://leetcode.com/problems/product-of-array-except-self/?envType=study-plan-v2&envId=top-interview-150 문제 설명 정수 배열 nums가 주어지면 answer[i]가 nums[i]를 제외한 nums의 모든 요소의 곱과 같은 배열 answer를 반환합니다. nums의 접두사나 접미사의 곱은 32비트 정수에 들어가는 것이 보장됩니다. 나눗셈 연산을 사용하지 않고 O(n) 시간에 실행되는 알고리즘을 작성해야 합니다. 의사코드 int[] answer = new int[nums.length] answer[0] = 1 leftSum = 1 반복문 시작..

리트코드 - 380. Insert Delete GetRandom O(1)
리트코드 - 380. Insert Delete GetRandom O(1) CS/코딩테스트 2023. 12. 15. 13:54

리트코드 - 380. Insert Delete GetRandom O(1) 출처 - https://leetcode.com/problems/insert-delete-getrandom-o1/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 RandomizedSet 클래스를 구현하세요. RandomizedSet() - RandomizedSet 객체를 초기화합니다. bool insert(int val) - 주어진 값 val을 집합에 삽입합니다. 값이 이미 존재하지 않으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. bool remove(int val) - 주어진 값 val이 집합에 존재하면 해당 값을 집합에서 제거합니다. 값이 존재..

리트코드 - 274. H-Index
리트코드 - 274. H-Index CS/코딩테스트 2023. 12. 14. 17:34

리트코드 - 274. H-Index 출처 - https://leetcode.com/problems/h-index/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 citations에서 citations[i]는 연구자가 i번째 논문에 받은 인용 횟수입니다. 연구자의 h-index를 반환합니다. 위키피디아의 h-index 정의에 따르면, h-index는 주어진 연구자가 적어도 h번 이상 인용된 논문이 h편 이상이 되도록 하는 최대 값으로 정의됩니다. 의사코드 citations 배열 정렬 int n = citations.length 반복문 시작(i = 0, i = n - i) n -..

리트코드 - 300. Longest Increasing Subsequence
리트코드 - 300. Longest Increasing Subsequence CS/코딩테스트 2023. 12. 3. 08:23

리트코드 - 300. Longest Increasing Subsequence 출처 - https://leetcode.com/problems/longest-increasing-subsequence/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 정수 배열 nums가 주어지면, 엄격하게 증가하는 가장 긴 길이를 반환합니다. 의사코드 함수 lengthOfLIS(배열 nums) n = nums.length 배열 dp의 크기를 n으로 설정 dp[0] = nums[0] len(정답길이) = 1 반복문 시작(i 1부터 n-1까지) if (nums[i] > dp[len - 1]) dp[len] = nums[i] 길이 += 1 else idx = 이진탐..

리트코드 - 322. Coin Change
리트코드 - 322. Coin Change CS/코딩테스트 2023. 11. 24. 13:21

리트코드 - 322. Coin Change 출처 - https://leetcode.com/problems/coin-change/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 coins는 서로 다른 액면가를 나타내는 동전들이며, 정수 amount는 총 금액을 나타냅니다. 이 금액을 만들기 위해 필요한 동전의 최소 개수를 반환하세요. 만약 주어진 동전들의 조합으로 해당 금액을 만들 수 없다면 -1을 반환하세요. 각 동전의 수량이 무한하다고 가정할 수 있습니다. 의사코드 n = coins배열의 길이 dp = new int[amount + 1] Arrays.fill(dp, Integer.MAX_VALUE) dp[0] = 0 ..

image