At least h with at least h
Python, 52

f=lambda s,n=0:n&lt;sum(n&lt;x for x in s)and f(s,n+1)or n


A recursive solution. Run this in Stackless Python if you're worried about overflows.

Starting from n=0, checks whether at least n+1 of the numbers are at least n+1. If so, increments n and starts again. If not, outputs n.

The conditional is done using Python's short-circuiting for Booleans. The expression sum(n&lt;x for x in s) counts the number of values in s that are greater than n by adding the indicator Booleans, which are treated as 0 or 1.

For comparison, the iterative equivalent is 2 chars longer. It requires Python 2.

s=input()
n=0
while n&lt;sum(n&lt;x for x in s):n+=1
print n


Unfortunately, the input need to be saved for a variable before being iterated over or else Python will try to read the input repeatedly.