LeetCode/Top Interview 150 106

128. Longest Consecutive Sequence

128. Longest Consecutive Sequence https://youtu.be/8sF5-yK2jsk?si=azgL_NMsGEf7q6pV 로직은 맞지만, 시간 제한에 걸림!! : 시간 복잡도 O(n^3)class Solution: def longestConsecutive(self, nums: List[int]) -> int: """ time: O(n^3): for + while + while 안에 in 조건문 space: O(1) """ # 초기화: 최장 연속 수열 길이를 저장할 변수 longest = 0 # 최장 길이를 저장하기 위한 변수 초기화 # 입력 배열의 각 숫자에 대해 반복 f..

219. Contains Duplicate II

219. Contains Duplicate II 해시맵 으로..class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: hashMap = {} # 숫자와 해당 숫자가 마지막으로 등장한 인덱스를 저장하는 딕셔너리 # nums 리스트를 순회하며 숫자와 인덱스를 처리 for i, n in enumerate(nums): # 현재 숫자가 hashMap에 존재하고, 인덱스 차이가 k 이하인지 확인 if n in hashMap and abs(i - hashMap[n])   셋(set) 으로.. https://youtu.be/ypn0aZ0nrL..

202. Happy Number

202. Happy Number https://youtu.be/ljz85bxOYJ0?si=0jgqxJfkCYKkgVEL class Solution: def isHappy(self, n: int) -> bool: # 이미 방문한 숫자를 저장할 집합 (무한 루프를 방지하기 위함) visit = set() # 숫자가 이미 visit에 없으면 계속 반복 while n not in visit: visit.add(n) # 현재 숫자를 방문한 것으로 표시 n = self.sumOfSquares(n) # 현재 숫자의 각 자릿수 제곱합으로 갱신 # 숫자가 1이면 행복한..