삼항연산자2 [LeetCode] Max Consecutive Ones 파이썬 (문자열 압축) class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: local_max = 0 tmp = 0 for i in nums: if i == 1: tmp += 1 else: # print(local_max, tmp) local_max = max(local_max, tmp) tmp = 0 else: local_max = max(local_max, tmp) return local_max 주의점: loop가 정상적으로 순회한 후에도 max값이 update가 안되어있을 수 있기 때문에 for-else문을 통해 update 시켜줘야 한다. 카카오 문자열 압축 문제에서도 나온 유의사항. 다른 풀이는 class Solution(object): d.. 2021. 4. 29. [자료구조] 배상 비용 최소화 파이썬 (heap) def solution(no, works): # max_idx = works.index(max(works)) # works[works.index(max(works))] -= 1 while no > 0: # reach 0 exit max_idx = works.index(max(works)) works[max_idx] -= 1 no -= 1 return sum([x**2 if x > 0 else 0 for x in works]) return할때 0보다 큰 조건을 안넣어줘서 오답이 나온것 같아서 넣어줬더니 통과했다. 일단 여기까지는 했는데 효율성에서 통과를 못했다 시간을 줄일 수 있는 부분이 while문 안에서 해결되어야 될거 같은데 음. sorted로 사용하니까 통과하긴 하는데 오래걸리긴 한다. def so.. 2021. 4. 22. 이전 1 다음