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

첫번째 방법 - 해시맵(HashMap)class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: index_map = {} # 숫자의 마지막 등장 인덱스를 저장할 딕셔너리 for i, num in enumerate(nums): if num in index_map and i - index_map[num] 딕셔너리(HashMap)을 사용하여 숫자의 인덱스를 저장하고, 현재 인덱스와 이전에 나온 동일 숫자의 인덱스 차이가 k 이하인지 확인하는 방식.풀이 설명index_map 딕셔너리를 사용하여 숫자 num의 가장 최근 인덱스를 저장한다.리스트 nums를 순회하면서:현재..

알고리즘:주어진 문자열을 파싱하여 문자 -> 빈도 형태로 해시맵에 저장해시맵의 키(문자)를 알파벳 순으로 정렬최종 결과 문자열을 생성from collections import defaultdictclass Solution: def betterCompression(self, compressed: str) -> str: freq_map = defaultdict(int) i = 0 n = len(compressed) # 문자열을 순회하면서 문자와 숫자 파싱 while i 🔹 시간 복잡도:문자열을 한 번 순회하면서 파싱 (O(N))해시맵을 정렬 (O(K log K), K는 문자 종류의 개수, 최대 26)결과 생성 (O(K))총..