[Leetcode] 3392. Count Subarrays of Length Three With a Condition
문제 설명 - Special Subarrays of Length 3정수 배열 nums가 주어진다.이 배열 안에서 길이가 정확히 3인 부분 배열(subarray) 중 다음 조건을 만족하는 경우를 세야 한다:첫 번째 원소와 세 번째 원소의 합이 두 번째 원소의 절반과 정확히 같다.목표는 조건을 만족하는 부분 배열의 개수를 반환하는 것이다.문제를 풀면서 놓치지 않아야 할 부분은 부동소수점이다. 예시예제 1Input: nums = [1, 2, 1, 4, 1]Output: 1가능한 3개 길이 부분 배열은:[1,2,1] → 1+1 ≠ 2/2[2,1,4] → 2+4 ≠ 1/2[1,4,1] → 1+1 == 4/2 (조건 만족)[4,1,] (불가능, 길이 2)따라서 조건을 만족하는 부분 배열은 [1,4,1] 하나뿐이기에..
2025. 4. 27.
[Leetcode] 2179. Count Good Triplets in an Array
문제는 여기서 확인할 수 있다.꽤 어려운 문제였고 고백하자면 Hint 3개를 다 보고 나서야 풀 수 있었다.해외 취업의 길은 멀고도 험하다.문제 설명 - Count Good Triplets in Two Arrays두 개의 0-indexed 배열 nums1, nums2가 주어진다.이 두 배열은 모두 [0, 1, ..., n-1]의 순열이며, 길이는 n이다.여기서 좋은 삼중 조합(good triplet) 은 다음 조건을 만족하는 (x, y, z) 세 값의 조합이다:x, y, z는 모두 다른 값이며x, y, z의 값 순서대로,nums1에서의 위치: pos1[x] nums2에서의 위치: pos2[x] 즉, 두 배열 모두에서 x, y, z가 증가하는 순서로 등장해야 한다.목표는 가능한 모든 good triplet..
2025. 4. 17.
[Leetcode] 3396. Minimum Number of Operations to Make Elements in Array Distinct
문제 설명 - Minimum Operations to Make Array Distinct정수 배열 nums가 주어진다.이 배열의 모든 원소가 서로 다른 값이 되도록 만들고 싶다.이를 위해 다음과 같은 연산을 아무 횟수나 사용할 수 있다:배열의 앞에서 3개의 원소를 제거한다.만약 배열에 남은 원소가 3개보다 적다면, 전부 제거한다.목표는 중복 없는 배열을 만들기 위한 최소 연산 횟수를 구하는 것이다.참고로, 빈 배열은 중복이 없는 배열로 간주한다. 예시예제 1Input: nums = [1, 2, 3, 4, 2, 3, 3, 5, 7]Output: 2연산 1회: 앞의 3개 제거 → [4, 2, 3, 3, 5, 7]연산 2회: 다시 3개 제거 → [3, 5, 7]남은 배열은 중복이 없다 → 연산 횟수는 2예제 ..
2025. 4. 17.