We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c41180a commit 3f58e8eCopy full SHA for 3f58e8e
1 file changed
live9/test94/문제3/박희경.py
@@ -1,19 +1,19 @@
1
def solution(stones, k):
2
answer = 0
3
-
4
- i, j = 0, 1
5
- while j < len(stones) and j-i <= k:
6
- if stones[j] == 0:
7
- j += 1
8
- i += 1
9
10
- # for i in range(len(stones)):
11
- # if stones[i] == 0:
12
- # jump += 1
13
- # i += jump - 1
14
- # else:
15
- # stones[i] -= 1
16
- answer += 1
17
- # print(stones)
18
+
+ left, right = 1, max(stones) # 나올 수 있는 stones 원소의 최대값
+ while left <= right:
+ cnt = 0
+ mid = (left + right) // 2
+ for stone in stones:
+ if stone <= mid: # mid가 더 크거나 같은 경우 => 0인 경우
+ cnt += 1
+ else: cnt = 0 # 0 아닌 경우 다시 0 개수 카운팅
+ if cnt >= k: break
+ if cnt < k: # mid가 큰 경우가 적었다는 뜻이니 더 크게 만들기
+ left = mid + 1
+ else:
+ answer = mid
+ right = mid - 1
19
return answer
0 commit comments