각 작업을 수행 할 때 순서대로 수행해야하는 작업 목록이 주어지면 작업을 수행 한 후 다음 두 슬롯에 대해 동일한 작업을 수행 할 수없는 경우 모든 작업을 수행하는 데 걸리는 시간 (슬롯 냉각) )? 그러나이 냉각 슬롯에 다른 작업을 할당 할 수 있습니다.
예를 들어
[9,10,9,8] => output: 5
작업으로 할당 할 수 있기 때문에 [9 10 _ 9 8].
먼저, 9는 2 개의 냉각 지점 _ _이 필요합니다. 우리는로 시작합니다 9 _ _.
2. 다음 작업 10은 이전 작업 9와 다르므로 _ _ 중 하나를 할당 할 수 있습니다. 그럼 우리는 할 것이다 9 10 _.
3. 첫 번째 작업 9는 동일한 작업이며 냉각 시간이 필요하므로 세 번째, 9는 지금 할당 할 수 없습니다. 9 10 _ 9.
4. 마지막으로 8은 이전의 두 작업과 동일하지 않으므로 9 직후에 할당 할 수 있으며 마지막 작업이므로 냉각 시간이 필요하지 않습니다. 최종 목록은 9 10 _ 9 85이며 예상 출력은 스폿 수 (또는 슬롯 수)입니다.
테스트 사례 :
[1,2,3,4,5,6,7,8,9,10] => output : 10 ([1 2 3 4 5 6 7 8 9 10])
[1,1,1] => output: 7 ([1 _ _ 1 _ _ 1])
[3,4,4,3] => output: 6 ([3 4 _ _ 4 3])
[3,4,5,3] => output: 4 ([3 4 5 3])
[3,4,3,4] => output : 5 ([3 4 _ 3 4])
[3,3,4,4] => output : 8 ([3 _ _ 3 4 _ _ 4])
[3,3,4,3] => output : 7 ([3 _ _ 3 4 _ 3])
[3,2,1,3,-4] => output : 5 ([3 2 1 3 -4])
[] => output : 0 ([])
[-1,-1] => output : 4 ([-1 _ _ -1])
입력 값은 정수 (음수, 0, 양수) 일 수 있습니다. 작업 목록의 길이는 0 <= 길이 <= 1,000,000입니다.
출력은 총 슬롯 수인 정수가되며 테스트 케이스에 출력으로 표시됩니다. 괄호 안의 목록은 출력이 생성되는 방법입니다.
승리 기준
코드 골프
[]습니까?