leetcode
-
Problem : https://leetcode.com/problems/count-the-number-of-fair-pairs Difficulty : Medium Status : Solved Time : ??:??:?? 풀이 모바일로 풀어 보는 경우를 생각해서 탬플릿을 단순화해야할까? 싶다. 각설하고, 처음 접근법은 binary search로 풀어보자고 생각했다. lower bound와 upper bound는 O(logN)시간복잡도로 구할 수 있고, 하나의 인자를 고정한 체로 다른 인자에 대해 lower bound와 upper bound를 구할 수 있기 때문이다. 이를테면, lower
2563. Count the Number of Fair PairsProblem : https://leetcode.com/problems/count-the-number-of-fair-pairs Difficulty : Medium Status : Solved Time : ??:??:?? 풀이 모바일로 풀어 보는 경우를 생각해서 탬플릿을 단순화해야할까? 싶다. 각설하고, 처음 접근법은 binary search로 풀어보자고 생각했다. lower bound와 upper bound는 O(logN)시간복잡도로 구할 수 있고, 하나의 인자를 고정한 체로 다른 인자에 대해 lower bound와 upper bound를 구할 수 있기 때문이다. 이를테면, lower
2024.11.13 -
Problem : https://leetcode.com/problems/shortest-subarray-with-or-at-least-k-ii/ Difficulty : Medium Status : Solved Time : 00:19:02 문제 설명 더보기음이 아닌 정수로 구성된 배열 nums와 정수 k가 주어진다. 어떤 배열이 특별하다는 의미는 그 배열에 속한 모든 원소들의 비트 OR이 적어도 k이상일 때를 의미한다. nums의 부분 배열 중 가장 짧은 길이의 특별한 부분 배열의 길이를 반환하라. 만약 그러한 부분 배열이 없다면 -1을 출력하라. 풀이 풀이 코드class Solution: def add(self, num) : for i in range(self.length) : ..
3097. Shortest Subarray With OR at Least K IIProblem : https://leetcode.com/problems/shortest-subarray-with-or-at-least-k-ii/ Difficulty : Medium Status : Solved Time : 00:19:02 문제 설명 더보기음이 아닌 정수로 구성된 배열 nums와 정수 k가 주어진다. 어떤 배열이 특별하다는 의미는 그 배열에 속한 모든 원소들의 비트 OR이 적어도 k이상일 때를 의미한다. nums의 부분 배열 중 가장 짧은 길이의 특별한 부분 배열의 길이를 반환하라. 만약 그러한 부분 배열이 없다면 -1을 출력하라. 풀이 풀이 코드class Solution: def add(self, num) : for i in range(self.length) : ..
2024.11.10 -
Problem : https://leetcode.com/problems/minimum-array-end Difficulty : Medium Status : Solved Time : 00:08:19 문제 설명 더보기n,x 두 정수가 주어진다. n 크기의 정수로 구성된 배열 array를 생성해야 한다. 이 때 0 nums[n-1]의 최솟값을 구하여라. 풀이 풀이 코드class Solution: def minEnd(self, n: int, x: int) -> int: nidx = 0 xidx = 0 result = x while n-1 >= (1
3133. Minimum Array EndProblem : https://leetcode.com/problems/minimum-array-end Difficulty : Medium Status : Solved Time : 00:08:19 문제 설명 더보기n,x 두 정수가 주어진다. n 크기의 정수로 구성된 배열 array를 생성해야 한다. 이 때 0 nums[n-1]의 최솟값을 구하여라. 풀이 풀이 코드class Solution: def minEnd(self, n: int, x: int) -> int: nidx = 0 xidx = 0 result = x while n-1 >= (1
2024.11.09 -
Problem : https://leetcode.com/problems/maximum-xor-for-each-query Difficulty : Medium Status : Solved Time : 00:04:49 문제 설명 더보기n개의 음이 아닌 정수로 구성된 정렬된 배열 nums와 정수 maximumBit를 입력으로 받는다. n개의 쿼리를 수행한다.* 음이 아닌 정수 k를 찾는다. 이 때 k는 nums[0] ~ nums[nums.leingth-1]의 XOR값을 최대화시키는 값이다. k는 i번째 쿼리의 정답이다.* nums의 가장 마지막 원소를 제거한다. answer 배열을 반환하라. 이 때 answer의 i번째 원소는 i번째 쿼리의 정답이다. 풀이 XOR의 성질을 이용해서 풀이해보자. XOR의 연산은..
1829. Maximum XOR for Each QueryProblem : https://leetcode.com/problems/maximum-xor-for-each-query Difficulty : Medium Status : Solved Time : 00:04:49 문제 설명 더보기n개의 음이 아닌 정수로 구성된 정렬된 배열 nums와 정수 maximumBit를 입력으로 받는다. n개의 쿼리를 수행한다.* 음이 아닌 정수 k를 찾는다. 이 때 k는 nums[0] ~ nums[nums.leingth-1]의 XOR값을 최대화시키는 값이다. k는 i번째 쿼리의 정답이다.* nums의 가장 마지막 원소를 제거한다. answer 배열을 반환하라. 이 때 answer의 i번째 원소는 i번째 쿼리의 정답이다. 풀이 XOR의 성질을 이용해서 풀이해보자. XOR의 연산은..
2024.11.08 -
Problem : https://leetcode.com/problems/find-if-array-can-be-sorted Difficulty : Medium Status : Solved Time : 00:10:48 문제 설명 더보기양의 정수로 구성된 0-인덱스의 배열 nums가 주어진다. 하나의 연산에서, 두 인접한 숫자가 같은 set bit(이진수로 나타냈을 때 1의 개수)를 가질 때 교환할 수 있다. 0번을 포함해서 임의의 숫자대로 이 연산을 수해할 수 있다. 만약 배열을 정렬할 수 있다면 True를, 그렇지 않다면 False를 반환하라. 풀이 첫 번째 풀이.nums의 길이가 100을 넘지 않으므로, 그냥 버블 정렬해보자. 정렬 과정에서 인접한 숫자들을 계속해서 참조하므로 확인이 가능하다. 만약 ..
3011. Find if Array Can Be SortedProblem : https://leetcode.com/problems/find-if-array-can-be-sorted Difficulty : Medium Status : Solved Time : 00:10:48 문제 설명 더보기양의 정수로 구성된 0-인덱스의 배열 nums가 주어진다. 하나의 연산에서, 두 인접한 숫자가 같은 set bit(이진수로 나타냈을 때 1의 개수)를 가질 때 교환할 수 있다. 0번을 포함해서 임의의 숫자대로 이 연산을 수해할 수 있다. 만약 배열을 정렬할 수 있다면 True를, 그렇지 않다면 False를 반환하라. 풀이 첫 번째 풀이.nums의 길이가 100을 넘지 않으므로, 그냥 버블 정렬해보자. 정렬 과정에서 인접한 숫자들을 계속해서 참조하므로 확인이 가능하다. 만약 ..
2024.11.06 -
Problem : https://leetcode.com/problems/minimum-number-of-changes-to-make-binary-string-beautiful Difficulty : Medium Status : Solved Time : 00:08:22 문제 설명 더보기0-인덱스의, 짝수 길이의 이진 문자열 s가 주어진다. 어떤 문자열이 아름답다는 것은 다음 조건을 만족하는 하나 이상의 부분문자열들로 나눠질 수 있음을 의미한다. 각 부분 문자열은 짝수 길이이며각 부분 문자열은 0 혹은 1로만 주어진다.문자열의 어떤 문자든 0이나 1로 바꿀 수 있다.문자열 s를 아름답게 하기 위해 필요한 최소 변환 횟수를 반환하라. 풀이 언뜻 보면 DP냐, 분할정복이냐.. 꽤 고민할 수 있지만, 문제 자..
2914. Minimum Number of Changes to Make Binary String BeautifulProblem : https://leetcode.com/problems/minimum-number-of-changes-to-make-binary-string-beautiful Difficulty : Medium Status : Solved Time : 00:08:22 문제 설명 더보기0-인덱스의, 짝수 길이의 이진 문자열 s가 주어진다. 어떤 문자열이 아름답다는 것은 다음 조건을 만족하는 하나 이상의 부분문자열들로 나눠질 수 있음을 의미한다. 각 부분 문자열은 짝수 길이이며각 부분 문자열은 0 혹은 1로만 주어진다.문자열의 어떤 문자든 0이나 1로 바꿀 수 있다.문자열 s를 아름답게 하기 위해 필요한 최소 변환 횟수를 반환하라. 풀이 언뜻 보면 DP냐, 분할정복이냐.. 꽤 고민할 수 있지만, 문제 자..
2024.11.05