Two pointers 7

[Two Pointers] 125. Valid Palindrome

125. Valid Palindrome 내 코드 class Solution: def isPalindrome(self, s: str) -> bool: """ isalnum은 **"is alphabetic or numeric"**의 약자로, 알파벳 또는 숫자인지 확인하는 메서드입니다. - is: "인지 확인"을 의미 (True/False 결과 반환). - al: alphabetic(알파벳)의 약자. - num: numeric(숫자)의 약자. 숫자 이거나 알파벳이면 True isdigit(): 숫자인지 확인 """ only_alnum = "" for w in s: ..

LeetCode/NeetCode 2024.11.28

[Two Pointers] 42. Trapping Rain Water ★★★

42. Trapping Rain Water https://youtu.be/ZI2z5pq0TqA?si=vMNp4_SRqkju2a6b  O(n) 공간 사용from typing import Listclass Solution: def trap(self, height: List[int]) -> int: # 높이 배열의 길이를 가져옵니다. n = len(height) # 배열이 비어있는 경우 0을 반환 (예외 처리) if not n: return 0 # maxLeft: 각 위치에서 왼쪽으로 가장 높은 기둥의 높이를 저장할 리스트 # maxRight: 각 위치에서 오른쪽으로 가장 높은 기둥의 높이를 저장할 리스트 ..

LeetCode/NeetCode 2024.11.28

[Two Pointers] 80. Remove Duplicates from Sorted Array II

80. Remove Duplicates from Sorted Array II https://youtu.be/ycAq8iqh0TI?si=xnT3SvO1n9jkMNVq class Solution: def removeDuplicates(self, nums: List[int]) -> int: k = 0 # 중복되지 않은 요소를 저장할 위치를 추적하는 포인터 prev = nums[0] - 1 # 이전에 저장된 값을 추적하기 위한 변수, nums[0]보다 작은 값으로 초기화 cnt = 0 # 현재 숫자가 몇 번 등장했는지 추적 # 배열을 순회하며 중복을 제거 for i in range(len(nums)): if nums[i..

LeetCode/NeetCode 2024.11.25