Algorithm/Two Pointer (3) 썸네일형 리스트형 (Python3) - LeetCode (Medium) : 2593. Find Score of an Array After Marking All Elements https://leetcode.com/problems/continuous-subarrays주어진 배열 nums에서, 연속적인 부분 배열(subarray) 중에서 그 배열의 최댓값과 최솟값의 차이가 2 이하인 경우를 모두 찾아내는 문제입니다.각 원소를 한 번씩만 순회하면서 윈도우의 범위를 조절해 효율적으로 문제를 해결해야 합니다. 따라서 슬라이딩 윈도우(Sliding Window)와 모노톤 큐(Monotonic Queue)를 활용한 O(n)복잡도의 풀이를 고려합니다.📕 풀이방법📔 입력 및 초기화정답 변수 answer, left, 현 index에서 최댓값 max_queue, 최솟값 min_queue 선언 후 각각 0으로 초기화합니다.📔 풀이과정예시 입력: nums = [2, 4, 5, 3]배열의 각 .. (Python3) - LeetCode (Medium) : 2779. Maximum Beauty of an Array After Applying Operation https://leetcode.com/problems/maximum-beauty-of-an-array-after-applying-operation/description/?envType=daily-question&envId=2024-12-11sliding window로 해결한 문제였습니다.📕 풀이방법📔 입력 및 초기화1. nums를 오름차순으로 정렬해줍니다. 2. left, num_len 선언 후 각각 0과 nums의 길이로 초기화합니다. 3. 정답변수 max_length 선언 후 0으로 초기화합니다.📔 풀이과정 슬라이딩 윈도우 정의슬라이딩 윈도우는 배열에서 특정 구간(범위)을 설정하고, 이 구간을 오른쪽으로 이동(sliding)하며 조건을 만족하는 구간 내 값들을 효율적으로 계산하는 알고리즘입니다.. (Python3) - LeetCode (Medium) : 2825. Make String a Subsequence Using Cyclic Increments https://leetcode.com/problems/make-string-a-subsequence-using-cyclic-increments two pointer로 해결한 문제였습니다.📕 풀이방법📔 입력 및 초기화str1의 index i와 str2의 index j를 선언 후 각각 0으로 초기화합니다.📔 풀이과정* 한번에 str1의 여러 index를 골라 다음 알파벳으로 바꿀 수 있습니다. 따라서 i, j를 옮기면서 만들 수 있는지 여부를 비교합니다.i가 str1의 길이 미만이면서 j도 str2의 길이 미만인 동안 while loop를 수행하며 다음을 진행합니다. 1. 현재 단어 c1, c2는 str1[i], str2[j]이므로 지역변수로 선언 후 각각 저장해줍니다. 2. c1이 c2와 같거나 c1.. 이전 1 다음