

몇개의 숫자를 입력 수열에 더해지면 연속적인 수열이 만들어질수있는지 반환하는 문제입니다.
이 문제는 간단한 계산식으로 풀립니다.
def makeArrayConsecutive2(statues):
return max(statues) - min(statues) - len(statues) + 1
입력수열의 최대값-최소값+1을 하면 총 몇개의 수로 연속적인 수열이 만들어지는지 알수있습니다.
예를들어, 입력수열이 [0,2]일때 수열의 최대값2 - 최소값0 + 1 을 함으로써
최종 수열(0,1,2)이 총 숫자 3개로 이뤄진단걸 알수있어요.
여기서 이미 있는 수들인 입력수열의 길이(2)를 빼줌으로써 몇개의 수를 추가해서
최종수열을 만들수 있을지를 알수있는것입니다.
'알고리즘 > CodeSignal' 카테고리의 다른 글
| CodeSignal 8번 matrixElementsSum문제풀이 (0) | 2020.01.17 |
|---|---|
| CodeSignal 7번 almostIncreasingSequence 문제풀이 (0) | 2020.01.11 |
| CodeSignal 4번 adjacentElementsProduct 문제풀이 (0) | 2020.01.10 |
| CodeSignal 5번 shapeArea 문제풀이 (0) | 2020.01.07 |
| CodeSignal 1번~3번 문제풀이 (0) | 2020.01.07 |