징검다리 건너기 파이썬
이분탐색을 통해서 진행해야 효율성 평가를 통과 할 수 있다.
def calc(stones, k, mid):
now = 0
for stone in stones:
if stones < mid:
now += 1
else:
now = 0
if now >= k :
return False
return True
def solution(stones, k):
left, right = 1, max(stones)+1
while left < (right-1):
mid = (left+right) //2
if calc(stones, k, mid):
left = mid
else:
right = mid
return left
기존 나의 풀이는 통과는 되지만, 효율성 측면에서 탈락이었다.
def mysolution(stones, k):
answer = 0
go = 1
print(stones)
while(go):
j = 0
for i in range(len(stones)):
if i == len(stones):
break
if j == k:
go = 0
return answer
if stones[i] == 0:
j += 1
stones[i] = 0
else:
stones[i] -= 1
j = 0
print('complete', answer + 1, 'people')
print(stones)
answer += 1
return answer
Author And Source
이 문제에 관하여(징검다리 건너기 파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@greenhelix/징검다리-건너기-파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)