Skip to content

Commit 342e0d2

Browse files
Merge pull request #2105 from CodingTestStudy2/변지협
[변지협] Day30
2 parents 891448e + 33883fc commit 342e0d2

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
'''
2+
1. 아이디어 :
3+
같은 값을 가진 인덱스들을 값별로 모아 리스트로 저장한 뒤, 각 리스트에서 서로 인접한
4+
인덱스들의 차이가 k 이하인지 확인한다.
5+
6+
2. 시간복잡도 :
7+
o(n)
8+
9+
3. 자료구조/알고리즘 :
10+
해시맵(defaultdict(list))
11+
'''
12+
from collections import defaultdict
13+
14+
class Solution:
15+
def containsNearbyDuplicate(self, nums: list[int], k: int) -> bool:
16+
dic = defaultdict(list)
17+
n = len(nums)
18+
for i in range(n):
19+
dic[nums[i]].append(i)
20+
21+
for key, lst in dic.items():
22+
m = len(lst)
23+
if m < 2:
24+
continue
25+
26+
last = -1
27+
while lst:
28+
elem = lst.pop()
29+
if last != -1 and abs(elem - last) <= k:
30+
return True
31+
last = elem
32+
33+
return False

0 commit comments

Comments
 (0)