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

class Solution: def countGoodSubstrings(s: str) -> int: count = 0 for i in range(len(s) - 2): # 길이가 3인 모든 부분 문자열을 검사 substring = s[i:i+3] # 길이 3의 부분 문자열 추출 if len(set(substring)) == 3: # 중복 문자가 없는지 확인 count += 1 return countset() => 중복을 허용하지 않는 집합(set) 자료형을 생성하는 함수중복 제거: 리스트나 문자열 등의 중복된 요소를 자동으로 제거.순서 없음: 요소의 순서가 보장되지 않음.빠른 멤버십 테스트 ..

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)..

🔍 슬라이딩 윈도우(Sliding Window)배열에서 부분 합을 효율적으로 계산하는 기법매번 전체 합을 다시 계산하지 않고, 최초 윈도우의 합을 미리 계산해둔 후 기존 윈도우의 값을 조금씩 변경하면서 업데이트한다.즉, 현재 합에서 빠질 값과 추가할 값만 업데이트하면 O(1) 시간에 갱신이 가능한 효율적 알고리즘이다! class Solution: def decrypt(self, code: List[int], k: int) -> List[int]: n = len(code) # 원래 코드 배열의 길이 # k가 0이면 모든 원소를 0으로 변경 if k == 0: return [0] * n # Extend..