| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- SQL
- Python
- 오블완
- meshgraphnet
- CNN
- mysql
- code
- adaptive remeshing
- sort
- LeetCode
- 데이터베이스
- db
- 코딩테스트
- 컴퓨터사이언스
- Data_Structure
- 자료구조
- Leet Code
- 티스토리챌린지
- Mesh
- 대학생
- 컴퓨터공학
- coding
- 데베
- 개발자
- 코테
- 데이터
- GNN
- CS
- Database
- DS
- Today
- Total
목록DS (9)
sy1214ei 님의 블로그
level : Mediumclass Solution: def lengthOfLongestSubstring(self, s: str) -> int: """ 슬라이딩 윈도우 - 부분 문자열에 중복 문자 X: end += 1 - 부분 문자열에 중복 문자 O: start += 1 """ max_len = 0 start, end = 0, 0 chars = set() while end
https://leetcode.com/problems/intersection-of-two-arrays/description/level : Easyclass Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: """ 1. nums1에 있는 값은 모두 True 2. nums2에 nums1에 있는 값이 있다면 res.add 3. return list(res) : res에는 num1, num2의 겹치는 값들 다 들어감 """ hash_table = {} for num in nums1: hash_table[num..
https://leetcode.com/problems/first-missing-positive/Level : Hardclass Solution: def firstMissingPositive(self, nums: List[int]) -> int: # 1. 음수는 0으로 for i in range(len(nums)): if nums[i] 0: nums[val-1] *= -1 elif nums[val-1] == 0: nums[val-1] = -1 * (len(nums)+1) # 3. 제일 작은 양수 찾기 for i in..
from collections import dequedef bfs(graph, start_node): # visited (set): 중복된 노드를 방문하지 않기 위함 # traversal (list): 방문 순서를 기록하기 위함 """ 1. queue가 empty라면 while문 끝 2. curr = queue.leftpop() 3. 만약 curr이 visited에 없다면 4. neighbor이 visited에 없을때만 append """ # 초기 선언 visited = set() traversal = [] queue = deque([start_node]) # bfs 시작 while queue: curr = queue.popleft() if curr not in..
def dfs(graph, start_node): visited = set() # 중복 탐색 방지 traversal = [] # 방문 순서 저장 stack = [start_node] # 1. curr = stack.pop() # 2. 만약 curr이 visited에 없다면 visited.add(curr) # 3. curr과 이웃한 노드 모두 stack에 넣기 while stack: curr = stack.pop() if curr not in visited: visited.add(curr) traversal.append(curr) for neibor in graph[curr]: stack.append(neibor) re..
class Solution: def dominantIndex(self, nums: List[int]) -> int: sorted_nums = sorted(nums) if sorted_nums[-1] >= sorted_nums[-2]*2: for i in range(len(nums)): if sorted_nums[-1] == nums[i]: return i else : return -1 # Time Complexity : O(n) # Space Complexity : O(n)
Code 1) Not Used Setclass Solution: def containsDuplicate(self, nums: List[int]) -> bool: for i in range(len(nums)): for j in range(i+1, len(nums)): if nums[i] == nums[j]: return True return False # Time Complexity : O(n^2) # Space Complexity : O(1) Code 2) Used Setclass Solution: def containsDuplicate(self, nums: Lis..
[Level] Medium[Topics] Array Sorting Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.https://leetcode.com/problems/merge-intervals/ IdeaCodeclass Solution: def selection_sort(self, intervals): for i in range(len(intervals)): smalles..
[Level] Medium[Topics] Array String Greedy SortingGiven a list of non-negative integers nums, arrange them such that they form the largest number and return it.Since the result may be very large, so you need to return a string instead of an integer.Idea Code (Not used Compare Function)class Solution: def largestNumber(self, nums: List[int]) -> str: if len(nums) > 1: mid = le..