모든 요소가 0 또는 양수인 num이라는 배열이 있다고 가정합니다. nums는 x보다 크거나 같은 nums에 정확히 x개의 숫자가 있는 숫자 x가 있는 경우 특수 배열로 간주됩니다. 그리고 x는 nums의 요소일 필요가 없습니다. 여기서 배열이 특수하면 x를 찾아야 하고, 그렇지 않으면 -1을 반환합니다.
따라서 입력이 nums =[4,6,7,7,1,0]과 같으면 4보다 크거나 같은 4개의 숫자가 있으므로 출력은 4가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
범위 0에서 최대 숫자까지의 i에 대해
-
개수:=0
-
숫자의 각 j에 대해 수행
-
j>=i이면
-
- 카운트 :=카운트 + 1
-
-
count가 i와 같으면
-
반환 i
-
-
-
반환 -1
예제(파이썬)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(nums): for i in range(max(nums)+1): count=0 for j in nums: if j >= i: count+=1 if count == i: return i return -1 nums = [4,6,7,7,1,0] print(solve(nums))
입력
[4,6,7,7,1,0]
출력
-1