숫자 배열을 분쇄하는 과정을 정의 할 수 있습니다. 호감에서 우리는 배열을 왼쪽에서 오른쪽으로 읽습니다. 한 지점에서 같은 요소 중 두 개가 연속으로 나타나면 첫 번째 요소를 제거하고 두 번째 요소를 두 배로 늘립니다. 예를 들어 다음은 다음 배열을 분쇄하는 과정입니다.
[5,2,2,3]
^
[5,2,2,3]
^
[5,2,2,3]
^
[5,4,3]
^
[5,4,3]
^
이 예에서 동일 요소는 여러 번 축소 가능 [1,1,2]
하게 [4]
분쇄 할 때.
해당 배열을 분쇄하는 과정에서 배열을 변경하지 않으면 배열을 분쇄 불가능이라고합니다. 예를 들어 [1,2,3]
여전히 [1,2,3]
짓 눌린 후입니다.
당신의 임무는 배열을하고 그것을 분쇄 할 수없는 분쇄의 수를 결정하는 것입니다. 당신은의 범위에 정수 지원 필요는 0 에 2 32 -1
이것은 코드 골프 이므로 바이트 수가 적을수록 답이 바이트로 표시됩니다.
테스트 사례
[1] -> 0
[1,1] -> 1
[2,1,1] -> 2
[4,2,1,1] -> 3
[2,2,2,1,1] -> 3
[0,0,0,0] -> 1
[4,0,0,0,4] -> 1
[4,0,0,0,0,4] -> 1
[] -> 0
0,0,0,0
이 걸렸습니다 1
. 명시 적으로 우리가 호감 완전히에 배열을 통해 우리는 루프가 횟수를 계산하고 어딘가에 언급에 그것은 생각 될 수 없는 내가 처음에 생각했던, 총 횟수는 우리가 함께이 개 숫자를 분쇄.
[1,1,2,4,8]
1 또는 4를 반환 해야합니까 ?