def solution(stones, k):
answer = 0
br = 0
i = 0
if len(stones) == k:
return max(stones)
while br != k:
if stones[i] != 0:
stones[i] = stones[i] - 1
i += 1
elif stones[i] == 0:
j = i
br = 0
while stones[j] == 0 and j < len(stones) - 1:
j += 1
br += 1
i += 1
if i == len(stones):
answer += 1
i = 0
return answer
주어진 stones 배열의 값을 하나씩 줄이면서 0을 발견하면 그 뒤의 값도 0인지 확인한 후에 이어진 0의 값을 세서 k와 같으면 반복문을 탈출하는 방식으로 구현했다.
결과는 망,,,,
애초에 효율성에선 걸릴거라고 생각했지만, 정확도에서도 테스트 케이스 하나를 결국 못뚫었다 ㅠㅠ
못뚫은 이유가 뭔지 찾으면 속이라도 시원할텐데 아직 뭐 때문인지 감도 잡히지 않는다.
내일 이분탐색을 공부해서 다시 풀어봐야지...
오늘의 다짐: 탐색범위가 커진다면 하나하나 탐색하는 방법은 지양하자! 더 적합한 알고리즘을 적용하는 스킬을 쌓자ㅠㅠ