일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Blazor
- 생성형AI
- 파이썬
- 구글퀵랩
- medium
- sql코테
- 코드업
- codeup
- GenAI
- nlp
- two-pointer
- dfs
- Microsoft
- stratascratch
- GenerativeAI
- LeetCode
- slidingwindow
- 릿코드
- 니트코드
- Python3
- 파이썬알고리즘
- 슬라이딩윈도우
- 알고리즘
- SQL
- 자연어처리
- 리트코드
- Python
- 투포인터
- 파이썬기초100제
- gcp
- Today
- Total
목록니트코드 (5)
Tech for good

https://neetcode.io/problems/k-closest-points-to-origin NeetCode neetcode.io큐(Queue)는 선입선출(First In, First Out, FIFO)의 자료 구조로, 먼저 들어온 데이터가 먼저 나간다. 하지만 우선순위가 있는 작업에서는 큐의 기본 원칙을 따르지 않을 때가 있다. 우선순위 큐(Priority Queue) 는 들어온 순서와 상관없이 우선순위가 높은 데이터가 먼저 나가는 자료 구조다.힙( Heap)이란?힙(Heap)은 우선순위 큐를 구현하기 위한 자료 구조다. 힙의 뜻을 살펴보면, "쌓아 올린 더미" 또는 "쌓아 올리다"라는 의미를 가진다. 힙은 최댓값과 최솟값을 찾는 연산을 빠르게 하기 위해 고안된 완전 이진 트리를 기본으로 한며,..

https://neetcode.io/problems/binary-tree-right-side-view NeetCode neetcode.io첫번째 풀이 방법: BFS - Level Order Traversal각 레벨에서 가장 오른쪽에 있는 노드의 값만 저장하면 된다.BFS(너비 우선 탐색, Queue;)을 이용하여 레벨별 탐색을 수행한다.매 레벨의 마지막 노드 값을 결과 리스트에 추가한다.# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right =..

https://neetcode.io/problems/lowest-common-ancestor-in-binary-search-tree NeetCode neetcode.io공통 조상 찾기!🔹 BST(Binary Search Tree)의 특징 활용BST(이진탐색트리)에서는 왼쪽 서브트리의 모든 값이 루트보다 작고, 오른쪽 서브트리의 모든 값이 루트보다 큽니다.따라서, LCA를 찾는 과정에서 다음 규칙을 사용할 수 있습니다.p.val과 q.val이 모두 현재 노드보다 작으면, LCA는 왼쪽 서브트리에 있음.p.val과 q.val이 모두 현재 노드보다 크면, LCA는 오른쪽 서브트리에 있음.p.val과 q.val이 현재 노드 양쪽에 걸쳐 있다면, 현재 노드가 LCA임.# Definition for a binar..

https://neetcode.io/problems/permutation-string NeetCode neetcode.io🛠 해결 전략이 문제는 슬라이딩 윈도우(Sliding Window) + 해시맵(딕셔너리) 활용으로 O(n)에 해결할 수 있다.s1의 모든 문자 빈도 수를 계산 (char_count_s1).s2에서 길이가 len(s1)인 윈도우를 이동하며 같은 빈도 수를 갖는지 비교 (char_count_window).첫 번째 윈도우 확인 후 한 칸씩 이동하며 검사만약 동일한 빈도 수를 가지는 구간이 있다면 True 반환.class Solution: def checkInclusion(self, s1: str, s2: str) -> bool: n, m = len(s1), len(s2)..

https://neetcode.io/problems/is-palindrome NeetCode neetcode.io첫번째 방법 - String Manipulationclass Solution: def isPalindrome(self, s: str) -> bool: # 1. 알파벳과 숫자만 남기고 소문자로 변환 filtered_s = ''.join(c.lower() for c in s if c.isalnum()) # 2. 문자열을 뒤집어서 원래 문자열과 비교 return filtered_s == filtered_s[::-1]isalnum() -> 문자열이 문자 혹은 숫자로 되어있으면 참 리턴, 아니면 거짓 리턴시간 복잡도문자열 필터링: O..