Skip to content

Latest commit

 

History

History
33 lines (26 loc) · 1.3 KB

File metadata and controls

33 lines (26 loc) · 1.3 KB

주의

  • 문제를 처음에 잘못 이해함.
  • 이게 처음에 푼 코드인데, 색깔 별로 빨래 시간을 담은 리스트를 인자로 받아, 최소 빨래 시간을 리턴하는 함수이다.
  • 그런데 나는 [4,5,6] 이라는 리스트가 들어오면, 가장 긴 6시간이 걸리는 빨래를 할 때, 5를 하고 나서 1시간이 남으니까 이 때 4짜리 빨래를 시작해도 되는 줄 알았다. 그러면 4에서 1시간을 빼서 뒤에 3시간만 더 하면 끝나는 것이라고 생각했다.
  • 하지만 문제에는 분명히 대야 속 빨래가 끝난 이후 새로운 빨래를 시작할 수 있습니다 라고 쓰여 있다.
  • 즉 내가 문제를 오히려 더 복잡하게 생각한 것.
  • 역시 문제를 꼼꼼이 읽어야 한다.
# 잘못 푼 코드
def min_wash_time(list):
    # 내림차순 정렬
    s_list = sorted(list, reverse=True)
    total = 0

    while len(s_list) > 0:
        biggest = s_list.pop(0)
        total += biggest
        while biggest > 0 and len(s_list) > 0:
            if biggest > s_list[0]:
                biggest -= s_list.pop(0)
            else:
                s_list[0] -= biggest
                biggest = 0

    return total